大家帮忙改个swing程序。。

bmssesdn 2010-11-15 09:06:03
如下,怎么把图片跟复选框放到同一个panel里,如下图
http://photo.56.com/album/?do=Show&did=89100454&p=#pid=1040032074


public class TwoL {

public TwoL(){
final JDialog dlg=new JDialog((JFrame)null,true);
JPanel imgPanel=new JPanel(new BorderLayout());
JLabel lb=new JLabel("图片位置");
// lb.setIcon(icon); //这里设图标
imgPanel.add(lb,BorderLayout.CENTER);
JPanel cbPane=new JPanel(new GridLayout(0,1));
for(int i=0;i < 10;i++){
JCheckBox cb=new JCheckBox("选项" + i);
cbPane.add(cb);
}
JScrollPane sp=new JScrollPane(cbPane);
sp.setPreferredSize(new Dimension(100,100));
imgPanel.add(sp,BorderLayout.EAST);

JPanel butPanel=new JPanel();
JButton ok=new JButton("确定");
/*ok.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
//dlg.setVisible(false);
//这里处理OK操作
}
});*/

JButton cancel=new JButton("取消");
/*cancel.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
dlg.setVisible(false);
}
});*/
butPanel.add(ok);
butPanel.add(cancel);
dlg.add(imgPanel);
dlg.add(butPanel,BorderLayout.SOUTH);
dlg.setSize(250,250);
dlg.setVisible(true);

}
public static void main(String[] args) {
new TwoL();
}
}

...全文
152 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
bmssesdn 2010-11-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sunyiz 的回复:]
[/Quote]
谢谢你,我要的就是她,爱死你了
sunyiz 2010-11-15
  • 打赏
  • 举报
回复
这样改

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;

public class TwoL {

public TwoL(){
final JDialog dlg=new JDialog((JFrame)null,true);
JPanel imgPanel=new JPanel(new BorderLayout());
// JLabel lb=new JLabel("图片位置");
// lb.setIcon(icon); //这里设图标
// imgPanel.add(lb,BorderLayout.CENTER);
JPanel cbPane=new JPanel(new GridLayout(0,2));
for(int i=0;i < 10;i++){
JLabel lb=new JLabel("图片位置");
JCheckBox cb=new JCheckBox("选项" + i);
cbPane.add(lb);
cbPane.add(cb);
}
JScrollPane sp=new JScrollPane(cbPane);
sp.setPreferredSize(new Dimension(100,100));
imgPanel.add(sp,BorderLayout.CENTER);

JPanel butPanel=new JPanel();
JButton ok=new JButton("确定");
/*ok.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
//dlg.setVisible(false);
//这里处理OK操作
}
});*/

JButton cancel=new JButton("取消");
/*cancel.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
dlg.setVisible(false);
}
});*/
butPanel.add(ok);
butPanel.add(cancel);
dlg.add(imgPanel);
dlg.add(butPanel,BorderLayout.SOUTH);
dlg.setSize(250,250);
dlg.setVisible(true);

}

public static void main(String[] args) {
new TwoL();
}
}
kyousuke 2010-11-15
  • 打赏
  • 举报
回复
A面板用FlowLayout,然后图片和框直接放在A面板上就可以了
B面板用BoxLayout,将每个A面板放在B面板上
huntor 2010-11-15
  • 打赏
  • 举报
回复
每个图片和对应的复选框放到一个单独的jpanel里。

jpanel1.add(jlabel1);
jpanel1.add(jcheckbox1);

jpanel2.add(jlablel2);
jpanel2.add(jcheckbox2);

...
bmssesdn 2010-11-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dyllove98 的回复:]

放在同一个JPanel中就可以...我这里看不到图
[/Quote]
上面有链接地址啊。。点过去
kyousuke 2010-11-15
  • 打赏
  • 举报
回复
图片看不见
可以把panel的布局改成FlowLayout
Jlins 2010-11-15
  • 打赏
  • 举报
回复
放在同一个JPanel中就可以...我这里看不到图

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧