java swing自定义组件_java swing 自定义组件

我想设计一个这个组件,一个panel,里面3个label。

写了段代码,可是执行不出来。(本人新手),求各位指点一二。

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package mytext;

/**实现新的组件

*

* @author Administrator

*/

public class NewComp {

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JPanel jPanel1;

public NewComp(){

jPanel1 = new javax.swing.JPanel();

jLabel2 = new javax.swing.JLabel();

jLabel3 = new javax.swing.JLabel();

jLabel1 = new javax.swing.JLabel();

jPanel1.setName("jPanel1"); // NOI18N

jPanel1.addMouseListener(new java.awt.event.MouseAdapter() {

public void mouseClicked(java.awt.event.MouseEvent evt) {

}

});

org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(mytext.MyTextApp.class).getContext().getResourceMap(MyTextView.class);

jLabel2.setText(resourceMap.getString("jLabel2.text")); // NOI18N

jLabel2.setName("jLabel2"); // NOI18N

jLabel3.setText(resourceMap.getString("jLabel3.text")); // NOI18N

jLabel3.setName("jLabel3"); // NOI18N

jLabel1.setText(resourceMap.getString("jLabel1.text")); // NOI18N

jLabel1.setName("jLabel1"); // NOI18N

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);

jPanel1.setLayout(jPanel1Layout);

jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, 106, Short.MAX_VALUE)

.addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, 106, Short.MAX_VALUE)

.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 106, Short.MAX_VALUE))

.addContainerGap())

);

jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(jLabel1)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 15, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(jLabel3))

);

}

}

问题补充:

johnson.lee 写道

自定义组件必须要从JComponet继承或其子类继承,比如你可以直接从JPanel继承

public class MyComp extends JPanel {

private JLabel lbl1 = new JLabel("text1");

private JLabel lbl2 = new JLabel("text2");

private JLabel lbl3 = new JLabel("text3");

public MyComp() {

this.add(lbl1);

this.add(lbl2);

this.add(lbl3);

}

}

哥们,就是由于图片上面的布局我这里不会弄。。

能否实现一下这样的布局?谢谢了~1个panel里3个lable

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值