写了个swing的界面 但是无法运行。请前辈看下 指点下 本帖最后由 albertwmm 于 2012-09-21 15:53:56 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我想的 定义一个顶级容器 和2个面板。 把第一个面板放在JFrame 的North ,第二个面板放在Center 然后把一个标签放在第一个面板的正中间Center处。 把剩下的一堆标签组件按GridLayout 放在第2个面板 8行3列 改了下可以运行package com.test.gateway.test;import java.awt.*;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.*;public class XDFrame1 extends JFrame { public static void main(String[] args) { XDFrame1 XDframe1= new XDFrame1(); XDframe1.showframe1(); } private JLabel label[] ; private JCheckBox checkBox; private ImageIcon imageIcon; private JTextArea textArea; public XDFrame1(){ super(); label=new JLabel[30]; checkBox=new JCheckBox(); imageIcon=new ImageIcon(); textArea=new JTextArea(); label[0]=new JLabel("A-Z "); label[1]=new JLabel("A"); label[2]=new JLabel("B"); label[3]=new JLabel("C"); label[4]=new JLabel("D"); label[5]=new JLabel("E"); label[6]=new JLabel("F"); label[7]=new JLabel("小写:"); label[8]=new JLabel("小写:"); label[9]=new JLabel("小写:"); label[10]=new JLabel("小写:"); label[11]=new JLabel("小写:"); label[12]=new JLabel("小写:"); label[13]=new JLabel("s"); label[14]=new JLabel("s"); label[15]=new JLabel("s"); label[16]=new JLabel("s"); label[17]=new JLabel("x"); label[18]=new JLabel("x"); label[19]=new JLabel("集合"); label[19].setFont(new Font("Serif",Font.PLAIN,36)); String Xushu="abcd"; textArea.setText(Xushu); imageIcon=new ImageIcon("images\\XueDao.jpg"); checkBox=new JCheckBox(imageIcon); } public void showframe1(){ this.setTitle("ABCD"); this.setSize(500, 500); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); Container c=this.getContentPane(); JPanel panel1=new JPanel(); JPanel panel2=new JPanel(); panel1.setLayout(new BorderLayout()); panel2.setLayout(new GridLayout(8,3)); panel2.add(new JScrollPane(panel1)); panel1.add(label[19],"Center"); panel2.setLayout(new GridLayout(7,3)); panel2.add(label[0]); panel2.add(textArea); panel2.add(checkBox); panel2.add(label[1]); panel2.add(label[7]); panel2.add(label[13]); panel2.add(label[2]); panel2.add(label[8]); panel2.add(label[14]); panel2.add(label[3]); panel2.add(label[9]); panel2.add(label[15]); panel2.add(label[4]); panel2.add(label[10]); panel2.add(label[16]); panel2.add(label[5]); panel2.add(label[11]); panel2.add(label[17]); panel2.add(label[6]); panel2.add(label[12]); panel2.add(label[18]); this.add(panel1,"North"); this.add(panel1,"Center"); label[1].addMouseListener(new MyMouseClickListener()); label[2].addMouseListener(new MyMouseClickListener()); label[3].addMouseListener(new MyMouseClickListener()); label[4].addMouseListener(new MyMouseClickListener()); label[5].addMouseListener(new MyMouseClickListener()); label[6].addMouseListener(new MyMouseClickListener()); } class MyMouseClickListener extends MouseAdapter{ public void mousePressed(MouseEvent e){ if(e.getSource()==label[1]){ } } }} panel2.add(new JScrollPane(panel2));没办法把自己设置在自己的容器中。你查看下这边代码是不是有误。 panel2.add(new JScrollPane(panel1));//你加了自己了Container c=this.getContentPane();//少个t this.add(panel1,"North"); this.add(panel1,"Center");改成 this.add(panel1,"North"); this.add(panel2,"Center"); 改了一下可以显示,楼主参考下:import java.awt.*;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.*;public class XDFrame1 extends JFrame{ public static void main(String[] args) { XDFrame1 XDframe1= new XDFrame1(); XDframe1.showframe1(); } private JLabel label[] ; private JCheckBox checkBox; private ImageIcon imageIcon; private JTextArea textArea; public XDFrame1() { super(); label=new JLabel[30]; checkBox=new JCheckBox(); imageIcon=new ImageIcon(); textArea=new JTextArea(); label[0]=new JLabel("A-Z "); label[1]=new JLabel("A"); label[2]=new JLabel("B"); label[3]=new JLabel("C"); label[4]=new JLabel("D"); label[5]=new JLabel("E"); label[6]=new JLabel("F"); label[7]=new JLabel("小写:"); label[8]=new JLabel("小写:"); label[9]=new JLabel("小写:"); label[10]=new JLabel("小写:"); label[11]=new JLabel("小写:"); label[12]=new JLabel("小写:"); label[13]=new JLabel("s"); label[14]=new JLabel("s"); label[15]=new JLabel("s"); label[16]=new JLabel("s"); label[17]=new JLabel("x"); label[18]=new JLabel("x"); label[19]=new JLabel("集合",JLabel.CENTER); //居中 label[19].setFont(new Font("Serif",Font.PLAIN,36)); String Xushu="abcd"; textArea.setText(Xushu); imageIcon=new ImageIcon("images\\XueDao.jpg"); checkBox=new JCheckBox(imageIcon); } public void showframe1(){ this.setTitle("ABCD"); this.setSize(500, 500); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); JPanel panel1=new JPanel(); JPanel panel2=new JPanel(); panel1.setLayout(new BorderLayout()); panel2.setLayout(new GridLayout(8,3)); // panel2.add(new JScrollPane(panel2)); //意思不清楚,暂时不要. Container c=getContentPane(); //得到顶层面板. c.setLayout(new BorderLayout()); //设置边框布局。 //this.setContentPane(panel1); //this.setContentPane(panel2); //this.add(panel1,"North"); //this.add(panel1,"Center"); c.add(panel1,BorderLayout.NORTH); //添加 panel1到上边。 c.add(panel2,BorderLayout.SOUTH); //添加 panel2到下边。 panel1.add(label[19],"Center"); panel2.setLayout(new GridLayout(7,3)); panel2.add(label[0]); panel2.add(textArea); panel2.add(checkBox); panel2.add(label[1]); panel2.add(label[7]); panel2.add(label[13]); panel2.add(label[2]); panel2.add(label[8]); panel2.add(label[14]); panel2.add(label[3]); panel2.add(label[9]); panel2.add(label[15]); panel2.add(label[4]); panel2.add(label[10]); panel2.add(label[16]); panel2.add(label[5]); panel2.add(label[11]); panel2.add(label[17]); panel2.add(label[6]); panel2.add(label[12]); panel2.add(label[18]); label[1].addMouseListener(new MyMouseClickListener()); label[2].addMouseListener(new MyMouseClickListener()); label[3].addMouseListener(new MyMouseClickListener()); label[4].addMouseListener(new MyMouseClickListener()); label[5].addMouseListener(new MyMouseClickListener()); label[6].addMouseListener(new MyMouseClickListener()); } class MyMouseClickListener extends MouseAdapter{ public void mousePressed(MouseEvent e){ if(e.getSource()==label[1]){ } } }} java 对静态初始化的疑问!!! junit test就一个test方法,运行几次,每次使用不同样本数据,如果辩别哪次使用的是哪批样本 怎样用JAVA实现文件加密合并 急问一个Thread问题 如何在swing中改变按钮大小 关于package java中串的匹配问题(急用!) 怎麼用java去改變IE的設置? public static final int MASK_REQUEST = 1 << 0 这个定义是什么意思? instanceof是什么意思? 菜鸟求助,求大神指点!!! 已打包的类出现无法编译 菜鸟提问
把第一个面板放在JFrame 的North ,第二个面板放在Center 然后把一个标签放在第一个面板的正中间Center处。
把剩下的一堆标签组件按GridLayout 放在第2个面板 8行3列
package com.test.gateway.test;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;
public class XDFrame1 extends JFrame {
public static void main(String[] args) {
XDFrame1 XDframe1= new XDFrame1();
XDframe1.showframe1();
}
private JLabel label[] ;
private JCheckBox checkBox;
private ImageIcon imageIcon;
private JTextArea textArea;
public XDFrame1(){
super();
label=new JLabel[30];
checkBox=new JCheckBox();
imageIcon=new ImageIcon();
textArea=new JTextArea();
label[0]=new JLabel("A-Z ");
label[1]=new JLabel("A");
label[2]=new JLabel("B");
label[3]=new JLabel("C");
label[4]=new JLabel("D");
label[5]=new JLabel("E");
label[6]=new JLabel("F");
label[7]=new JLabel("小写:");
label[8]=new JLabel("小写:");
label[9]=new JLabel("小写:");
label[10]=new JLabel("小写:");
label[11]=new JLabel("小写:");
label[12]=new JLabel("小写:");
label[13]=new JLabel("s");
label[14]=new JLabel("s");
label[15]=new JLabel("s");
label[16]=new JLabel("s");
label[17]=new JLabel("x");
label[18]=new JLabel("x");
label[19]=new JLabel("集合");
label[19].setFont(new Font("Serif",Font.PLAIN,36));
String Xushu="abcd";
textArea.setText(Xushu);
imageIcon=new ImageIcon("images\\XueDao.jpg");
checkBox=new JCheckBox(imageIcon);
}
public void showframe1(){
this.setTitle("ABCD");
this.setSize(500, 500);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
Container c=this.getContentPane();
JPanel panel1=new JPanel();
JPanel panel2=new JPanel();
panel1.setLayout(new BorderLayout());
panel2.setLayout(new GridLayout(8,3));
panel2.add(new JScrollPane(panel1));
panel1.add(label[19],"Center");
panel2.setLayout(new GridLayout(7,3));
panel2.add(label[0]);
panel2.add(textArea);
panel2.add(checkBox);
panel2.add(label[1]);
panel2.add(label[7]);
panel2.add(label[13]);
panel2.add(label[2]);
panel2.add(label[8]);
panel2.add(label[14]);
panel2.add(label[3]);
panel2.add(label[9]);
panel2.add(label[15]);
panel2.add(label[4]);
panel2.add(label[10]);
panel2.add(label[16]);
panel2.add(label[5]);
panel2.add(label[11]);
panel2.add(label[17]);
panel2.add(label[6]);
panel2.add(label[12]);
panel2.add(label[18]);
this.add(panel1,"North");
this.add(panel1,"Center"); label[1].addMouseListener(new MyMouseClickListener());
label[2].addMouseListener(new MyMouseClickListener());
label[3].addMouseListener(new MyMouseClickListener());
label[4].addMouseListener(new MyMouseClickListener());
label[5].addMouseListener(new MyMouseClickListener());
label[6].addMouseListener(new MyMouseClickListener());
}
class MyMouseClickListener extends MouseAdapter{
public void mousePressed(MouseEvent e){
if(e.getSource()==label[1]){
}
}
}}
Container c=this.getContentPane();//少个t
this.add(panel1,"Center");
改成
this.add(panel1,"North");
this.add(panel2,"Center");
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;
public class XDFrame1 extends JFrame
{
public static void main(String[] args)
{
XDFrame1 XDframe1= new XDFrame1();
XDframe1.showframe1();
}
private JLabel label[] ;
private JCheckBox checkBox;
private ImageIcon imageIcon;
private JTextArea textArea;
public XDFrame1()
{
super();
label=new JLabel[30];
checkBox=new JCheckBox();
imageIcon=new ImageIcon();
textArea=new JTextArea();
label[0]=new JLabel("A-Z ");
label[1]=new JLabel("A");
label[2]=new JLabel("B");
label[3]=new JLabel("C");
label[4]=new JLabel("D");
label[5]=new JLabel("E");
label[6]=new JLabel("F");
label[7]=new JLabel("小写:");
label[8]=new JLabel("小写:");
label[9]=new JLabel("小写:");
label[10]=new JLabel("小写:");
label[11]=new JLabel("小写:");
label[12]=new JLabel("小写:");
label[13]=new JLabel("s");
label[14]=new JLabel("s");
label[15]=new JLabel("s");
label[16]=new JLabel("s");
label[17]=new JLabel("x");
label[18]=new JLabel("x");
label[19]=new JLabel("集合",JLabel.CENTER); //居中
label[19].setFont(new Font("Serif",Font.PLAIN,36));
String Xushu="abcd";
textArea.setText(Xushu);
imageIcon=new ImageIcon("images\\XueDao.jpg");
checkBox=new JCheckBox(imageIcon);
}
public void showframe1(){
this.setTitle("ABCD");
this.setSize(500, 500);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
JPanel panel1=new JPanel();
JPanel panel2=new JPanel();
panel1.setLayout(new BorderLayout());
panel2.setLayout(new GridLayout(8,3)); // panel2.add(new JScrollPane(panel2)); //意思不清楚,暂时不要. Container c=getContentPane(); //得到顶层面板.
c.setLayout(new BorderLayout()); //设置边框布局。
//this.setContentPane(panel1);
//this.setContentPane(panel2);
//this.add(panel1,"North");
//this.add(panel1,"Center");
c.add(panel1,BorderLayout.NORTH); //添加 panel1到上边。
c.add(panel2,BorderLayout.SOUTH); //添加 panel2到下边。 panel1.add(label[19],"Center");
panel2.setLayout(new GridLayout(7,3));
panel2.add(label[0]);
panel2.add(textArea);
panel2.add(checkBox);
panel2.add(label[1]);
panel2.add(label[7]);
panel2.add(label[13]);
panel2.add(label[2]);
panel2.add(label[8]);
panel2.add(label[14]);
panel2.add(label[3]);
panel2.add(label[9]);
panel2.add(label[15]);
panel2.add(label[4]);
panel2.add(label[10]);
panel2.add(label[16]);
panel2.add(label[5]);
panel2.add(label[11]);
panel2.add(label[17]);
panel2.add(label[6]);
panel2.add(label[12]);
panel2.add(label[18]);
label[1].addMouseListener(new MyMouseClickListener());
label[2].addMouseListener(new MyMouseClickListener());
label[3].addMouseListener(new MyMouseClickListener());
label[4].addMouseListener(new MyMouseClickListener());
label[5].addMouseListener(new MyMouseClickListener());
label[6].addMouseListener(new MyMouseClickListener());
}
class MyMouseClickListener extends MouseAdapter{
public void mousePressed(MouseEvent e){
if(e.getSource()==label[1]){
}
}
}
}