用java 基于SWING的图形用户界面设计 编写一个应用程序

用java 基于SWING的图形用户界面设计 编写一个应用程序,第1张

package heh;//我自己的包名

import javaawt;

import javaawtevent;

import javaxswingevent;

import javaxswing;

public class Jsq extends JFrame

{

Panel pan1=new Panel();

Panel pan2=new Panel();

Panel pan3=new Panel();

Panel pan4=new Panel();

Panel pan5=new Panel();

Label la1=new Label("欢迎使用计算器");

Button bt1=new Button(" ");

Button bt2=new Button("MC");

Button bt3=new Button("MR");

Button bt4=new Button("MS");

Button bt5=new Button("M+");

Button bt11=new Button("Backspace");

Button bt12=new Button("CE");

Button bt13=new Button("C");

Button but[]=new Button[20];

String buta[]={"7","8","9","/","sqrt","4","5","6","","%","1","2","3","-","1/x","0","-/+","","+","="};

JTextField t1=new JTextField("0");//swing组件,可以设置对齐方式

double a=0;//记录计算中的值或结果

String b="";//“+,-,,/”运算符号标记

int d=0; //是否刚刚按过运算符号标记

int x=0; //是否刚刚按过“=”号标记

int y=0; //屏幕刚刚出现过汉字的标记

public Jsq()

{

super("计算器");

add(pan1,BorderLayoutNORTH);

add(pan4,BorderLayoutCENTER);

add(pan3,BorderLayoutWEST);

pan3setLayout(new GridLayout(0,1,10,10));

pan3add(bt1);pan3add(bt2);pan3add(bt3);pan3add(bt4);pan3add(bt5);

pan4setLayout(new BorderLayout());

pan4add(pan5,BorderLayoutNORTH);

pan4add(pan2,BorderLayoutCENTER);

pan5setLayout(new GridLayout(1,3,5,5));

pan5add(bt11);pan5add(bt12);pan5add(bt13);

pan1setLayout(new GridLayout(3,1));

pan1add(la1);

pan1add(t1);

t1setEditable(false);//文本框设置为不可修改

t1setHorizontalAlignment(JTextFieldRIGHT);//设置文本框对齐方式

pan2setLayout(new GridLayout(4,5,10,10));

for(int i=0;i<20;i++)

{

but[i]=new Button(buta[i]);

pan2add(but[i]);

}

but[0]addActionListener(new A());

but[1]addActionListener(new A());

but[2]addActionListener(new A());

but[3]addActionListener(new A());

but[4]addActionListener(new A());

but[5]addActionListener(new A());

but[6]addActionListener(new A());

but[7]addActionListener(new A());

but[8]addActionListener(new A());

but[9]addActionListener(new A());

but[10]addActionListener(new A());

but[11]addActionListener(new A());

but[12]addActionListener(new A());

but[13]addActionListener(new A());

but[14]addActionListener(new A());

but[15]addActionListener(new A());

but[16]addActionListener(new A());

but[17]addActionListener(new A());

but[18]addActionListener(new A());

but[19]addActionListener(new A());

bt11addActionListener(new A());

bt12addActionListener(new A());

bt13addActionListener(new A());

bt1addActionListener(new A());

bt2addActionListener(new A());

bt3addActionListener(new A());

bt4addActionListener(new A());

bt5addActionListener(new A());

}

class A implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

if(egetSource()==but[0]) //"7"

{

if(x==1) //判断是否刚刚按过"="

{

t1setText("7");

x=0;

}

if(t1getText()equals("00")||t1getText()equals("0")||d==1||y==1)

{ //如果显示为"0"或"00"或者刚刚按过运算符号

t1setText("7"); //或者屏幕显示为汉字 那么显示为"7"

y=0;//将标记设置为0

}

else

t1setText(t1getText()+"7");//将显示的字符串后面加"7"

d=0;//将标记设置为0

if(t1getText()length()>40)//判断显示字符长度是否超过40

{

t1setText("错误!数字过长,请按“C”从新输入");

a=00;

b="";

d=0;

y=1;

}

}

if(egetSource()==but[1]) //"8"

{

if(x==1)

{

t1setText("8");

x=0;

}

if(t1getText()equals("00")||t1getText()equals("0")||d==1||y==1)

{

t1setText("8");

y=0;

}

else

t1setText(t1getText()+"8");

d=0;

if(t1getText()length()>40)

{

t1setText("错误!数字过长,请按“C”从新输入");

a=00;

b="";

d=0;

y=1;

}

}

if(egetSource()==but[2]) //"9"

{

if(x==1)

{

t1setText("9");

x=0;

}

if(t1getText()equals("00")||t1getText()equals("0")||d==1||y==1)

{

t1setText("9");

y=0;

}

else

t1setText(t1getText()+"9");

d=0;

if(t1getText()length()>40)

{

t1setText("错误!数字过长,请按“C”从新输入");

a=00;

b="";

d=0;

y=1;

}

}

if(egetSource()==but[3]) //"/"

{

if(y==1) //判断显示的是否为汉字

{

t1setText("0");

y=0;

}

if(d==0) //判断是否刚刚按过运算符号 防止连续按运算符号产生错误

{

if(bequals("+"))//四则混合运算时 判断上次计算是否为"+"

{

a=a+DoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

if(bequals("-"))//四则混合运算时 判断上次计算是否为"-"

{

a=a-DoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

if(bequals(""))//四则混合运算时 判断上次计算是否为""

{

a=aDoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

if(bequals("/"))//四则混合运算时 判断上次计算是否为"/"

{

double f=DoublevalueOf(t1getText())doubleValue();

if(f==0)//判断除数是否为0

{

t1setText("错误!请按“CE”清屏后继续计算");

y=1;

}

else

{

a=a/DoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

}

if(bequals(""))//判断进行的是不是四则混合运算的第一次运算

{

a=DoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

}

if(!t1getText()equals("错误!请按“CE”清屏后继续计算"))//是否出现了除数为零的错误

{

b="/";//运算符号标记设置为"/"

d=1; //标记已经按过运算符号

}

if(t1getText()length()>40)//判断显示字符长度是否超过40

{

t1setText("错误!数字过长,请按“C”从新输入");

a=00;//将记忆的数字抹去

b="";//运算符号标记 为未按过运算符号

d=0;//标记 刚刚没有按过运算符号

y=1;//标记 屏幕显示了汉字

}

}

if(egetSource()==but[4]) //"sqrt"

{

if(y==1)

{

t1setText("0");

y=0;

}

double f=DoublevalueOf(t1getText())doubleValue();

if(f<0) //判断被开放数是否小于零

{

t1setText("错误!被开方数小于0,请按“C”从新输入");

a=00;

b="";

d=0;

y=1;

}

else

{

f=Mathsqrt(f);

t1setText(""+(f));

}

if(t1getText()length()>40)

{

t1setText("错误!数字过长,请按“C”从新输入");

a=00;

b="";

d=0;

y=1;

}

}

if(egetSource()==but[5]) //"4"

{

if(x==1)

{

t1setText("4");

x=0;

}

if(t1getText()equals("00")||t1getText()equals("0")||d==1||y==1)

{

t1setText("4");

y=0;

}

else

t1setText(t1getText()+"4");

d=0;

if(t1getText()length()>40)

{

t1setText("错误!数字过长,请按“C”从新输入");

a=00;

b="";

d=0;

y=1;

}

}

if(egetSource()==but[6]) //"5"

{

if(x==1)

{

t1setText("5");

x=0;

}

if(t1getText()equals("00")||t1getText()equals("0")||d==1||y==1)

{

t1setText("5");

y=0;

}

else

t1setText(t1getText()+"5");

d=0;

if(t1getText()length()>40)

{

t1setText("错误!数字过长,请按“C”从新输入");

a=00;

b="";

d=0;

y=1;

}

}

if(egetSource()==but[7]) //"6"

{

if(x==1)

{

t1setText("6");

x=0;

}

if(t1getText()equals("00")||t1getText()equals("0")||d==1||y==1)

{

t1setText("6");

y=0;

}

else

t1setText(t1getText()+"6");

d=0;

if(t1getText()length()>40)

{

t1setText("错误!数字过长,请按“C”从新输入");

a=00;

b="";

d=0;

y=1;

}

}

if(egetSource()==but[8]) //""

{

if(y==1)

{

t1setText("0");

y=0;

}

if(d==0)

{

if(bequals("+"))

{

a=a+DoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

if(bequals("-"))

{

a=a-DoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

if(bequals(""))

{

a=aDoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

if(bequals("/"))

{

double f=DoublevalueOf(t1getText())doubleValue();

if(f==0)

{

t1setText("错误!请按“CE”清屏后继续计算");

y=1;

}

else

{

a=a/DoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

}

if(bequals(""))

{

a=DoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

}

if(!t1getText()equals("错误!请按“CE”清屏后继续计算"))

{

b="";

d=1;

}

if(t1getText()length()>40)

{

t1setText("错误!数字过长,请按“C”从新输入");

a=00;

b="";

d=0;

y=1;

}

}

if(egetSource()==but[9]) //"%"

{

if(y==1)

{

t1setText("0");

y=0;

}

double f=DoublevalueOf(t1getText())doubleValue();

t1setText(""+(f/100));

if(t1getText()length()>40)

{

t1setText("错误!数字过长,请按“C”从新输入");

a=00;

b="";

d=0;

y=1;

}

}

if(egetSource()==but[10]) //"1"

{

if(x==1)

{

t1setText("1");

x=0;

}

if(t1getText()equals("00")||t1getText()equals("0")||d==1||y==1)

{

t1setText("1");

y=0;

}

else

t1setText(t1getText()+"1");

d=0;

if(t1getText()length()>40)

{

t1setText("错误!数字过长,请按“C”从新输入");

a=00;

b="";

d=0;

y=1;

}

}

if(egetSource()==but[11]) //"2"

{

if(x==1)

{

t1setText("2");

x=0;

}

if(t1getText()equals("00")||t1getText()equals("0")||d==1||y==1)

{

t1setText("2");

y=0;

}

else

t1setText(t1getText()+"2");

d=0;

if(t1getText()length()>40)

{

t1setText("错误!数字过长,请按“C”从新输入");

a=00;

b="";

d=0;

y=1;

}

}

if(egetSource()==but[12]) //"3"

{

if(x==1)

{

t1setText("3");

x=0;

}

if(t1getText()equals("00")||t1getText()equals("0")||d==1||y==1)

{

t1setText("3");

y=0;

}

else

t1setText(t1getText()+"3");

d=0;

if(t1getText()length()>40)

{

t1setText("错误!数字过长,请按“C”从新输入");

a=00;

b="";

d=0;

y=1;

}

}

if(egetSource()==but[13]) //"-"

{

if(y==1)

{

t1setText("0");

y=0;

}

if(d==0)

{

if(bequals("+"))

{

a=a+DoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

if(bequals("-"))

{

a=a-DoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

if(bequals(""))

{

a=aDoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

if(bequals("/"))

{

double f=DoublevalueOf(t1getText())doubleValue();

if(f==0)

{

t1setText("错误!请按“CE”清屏后继续计算");

y=1;

}

else

{

a=a/DoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

}

if(bequals(""))

{

a=DoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

}

if(!t1getText()equals("错误!请按“CE”清屏后继续计算"))

{

b="-";

d=1;

}

if(t1getText()length()>40)

{

t1setText("错误!数字过长,请按“C”从新输入");

a=00;

b="";

d=0;

y=1;

}

}

if(egetSource()==but[14]) //"1/x"

{

if(y==1)

{

t1setText("0");

y=0;

}

else

{

double f=DoublevalueOf(t1getText())doubleValue();

t1setText(""+(1/f));

if(t1getText()length()>40)

{

t1setText("错误!数字过长,请按“C”从新输入");

a=00;

b="";

d=0;

y=1;

}

}

}

if(egetSource()==but[15]) //"0"

{

if(x==1)

{

t1setText("0");

x=0;

}

if(t1getText()equals("00")||t1getText()equals("0")||d==1||y==1)

{

t1setText("0");

y=0;

}

else

t1setText(t1getText()+"0");

d=0;

if(t1getText()length()>40)

{

t1setText("错误!数字过长,请按“C”从新输入");

a=00;

b="";

d=0;

y=1;

}

}

if(egetSource()==but[16]) //"-/+"

{

if(y==1)

{

t1setText("0");

y=0;

}

double f=DoublevalueOf(t1getText())doubleValue();

t1setText(""+(-f));

if(t1getText()length()>40)

{

t1setText("错误!数字过长,请按“C”从新输入");

a=00;

b="";

d=0;

y=1;

}

}

if(egetSource()==but[17]) //""

{

if(y==1)

{

t1setText("0");

y=0;

}

if(t1getText()indexOf("")==-1)//判断是否已经有""

{

t1setText(t1getText()+"");

}

if(t1getText()length()>40)

{

t1setText("错误!数字过长,请按“C”从新输入");

a=00;

b="";

d=0;

y=1;

}

}

if(egetSource()==but[18]) //"+"

{

if(y==1)

{

t1setText("0");

y=0;

}

if(d==0)

{

if(bequals("+"))

{

a=a+DoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

if(bequals("-"))

{

a=a-DoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

if(bequals(""))

{

a=aDoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

if(bequals("/"))

{

double f=DoublevalueOf(t1getText())doubleValue();

if(f==0)

{

t1setText("错误!请按“CE”清屏后继续计算");

y=1;

}

else

{

a=a/DoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

}

if(bequals(""))

{

a=DoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

}

if(!t1getText()equals("错误!请按“CE”清屏后继续计算"))

{

b="+";

d=1;

}

if(t1getText()length()>40)

{

t1setText("错误!数字过长,请按“C”从新输入");

a=00;

b="";

d=0;

y=1;

}

}

if(egetSource()==but[19]) //"="

{

if(y==1)

{

t1setText("0");

y=0;

}

if(bequals("+"))

{

a=a+DoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

if(bequals("-"))

{

a=a-DoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

if(bequals(""))

{

a=aDoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

if(bequals("/"))

{

double f=DoublevalueOf(t1getText())doubleValue();

if(f==0)

{

t1setText("错误!请按“CE”清屏后继续计算");

y=1;

}

else

{

a=a/DoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

}

if(bequals(""))

{

a=DoublevalueOf(t1getText())doubleValue();

t1setText(""+a);

}

if(!t1getText()equals("错误!请按“CE”清屏后继续计算"))

{

b="";

d=1;

x=1;

}

if(t1getText()length()>40)

{

t1setText("错误!数字过长,请按“C”从新输入");

a=00;

b="";

d=0;

y=1;

}

}

if(egetSource()==bt11) //"Backspace"

{

if(y==1)

{

t1setText("0");

y=0;

}

else

{

String s1=t1getText();

if(s1length()==1)//如果将显示的数字全部退掉 则显示"0"

{

t1setText("0");

}

else

{

t1setText(s1substring(0,(s1length()-1)));//退格

}

}

}

if(egetSource()==bt12) //"CE"

{

t1setText("0");//清屏

}

if(egetSource()==bt13) //"C" 初始化

{

t1setText("0");

a=00;

b="";

d=0;

}

if(egetSource()==bt1) //""

{

}

if(egetSource()==bt2) //"MC"

{

}

if(egetSource()==bt3) //"MR"

{

}

if(egetSource()==bt4) //"MS"

{

}

if(egetSource()==bt5) //"M+"

{

}

}

}

public static void main(String args[])

{

Jsq a=new Jsq();

asetSize(300,250);

asetVisible(true);

}

}

你的程序我帮你改好了,你看看吧。(改动的地方见注释)

import javaawtRectangle;

import javaawteventActionEvent;

import javaawteventActionListener;

import javaxswing;

class Student extends JFrame implements ActionListener{

private static final long serialVersionUID = -5234234228112405240L;

JTable stuTable;

Object a[][]={{"10001","张三","物理","85"},{"10002","李四","化学","93"}};//这里为a[][]初始化

Object name[]={"学号","姓名","科目","分数"};

JLabel stuLabel0,stuLabel1,stuLabel2,stuLabel3;

JButton stuButton0,stuButton1;

JPanel stuPan0,stuPan1;

JTextField stuField0,stuField1,stuField2;

JScrollPane scrollPane;//这里加一句

Student(){

thissetLayout(null);

validate();

stuPan0=new JPanel(null);

stuPan0setBounds(new Rectangle(0, 0, 583, 300));

stuPan1=new JPanel(null);

stuPan1setBounds(new Rectangle(0, 300, 583, 262));

stuTable=new JTable(a,name);

//stuTablesetBounds();

scrollPane=new JScrollPane(stuTable);//为JTable加上滚动条

scrollPanesetBounds(new Rectangle(15, 60, 550, 220));//这里为JTable设定了位置

stuLabel0=new JLabel("课程总分数:");

stuLabel0setBounds(new Rectangle(175, 35, 100, 30));//这里纵向位置调整了一下

stuLabel1=new JLabel("课程平均分:");

stuLabel1setBounds(new Rectangle(175, 95, 100, 30));//这里纵向位置调整了一下

stuLabel2=new JLabel("班级 排名:");

stuLabel2setBounds(new Rectangle(175, 155, 100, 30));//这里纵向位置调整了一下

stuButton0=new JButton("各科成绩");

stuButton0setBounds(new Rectangle(175, 200,100, 30));//这里为JButton设定了位置

stuButton1=new JButton("成绩统计");

stuButton1setBounds(new Rectangle(300, 200, 100, 30));//这里为JButton设定了位置

stuField0=new JTextField(null);

stuField0setBounds(new Rectangle(300, 35, 100, 30));//这里纵向位置调整了一下

stuField1=new JTextField(null);

stuField1setBounds(new Rectangle(300, 95, 100, 30));//这里纵向位置调整了一下

stuField2=new JTextField(null);

stuField2setBounds(new Rectangle(300, 155, 98, 31));//这里纵向位置调整了一下

stuPan1add(stuButton0);//这里把stuButton0加入到stuPan1中

stuPan0add(scrollPane);//这里把JTable加入到 stuPan0中

stuPan1add(stuButton1);

stuPan1add(stuLabel0);

stuPan1add(stuLabel1);

stuPan1add(stuLabel2);

stuPan1add(stuField0);

stuPan1add(stuField1);

stuPan1add(stuField2);

thisadd(stuPan0);

thisadd(stuPan1);

stuButton0addActionListener(this);//这里加上按钮监听器

stuButton1addActionListener(this);//这里加上按钮监听器

validate();

setBounds(200,100,600,600);//这一句从上面移下来

setVisible(true);//这一句从上面移下来

setDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

}

public static void main(String [] args){ //加上主函数

new Student();

}

public void actionPerformed(ActionEvent arg0) {//加上按钮按下处理函数

//这里面填写按钮按下处理语句

}

}

最大化再还原之后,日志记录区域变大了

问题主要是在这里吧。

方案1

将一个panBody拆成两个PANEL,

分别存放TABLE和TEXTAREA

下边是例子。

import javaawtBorderLayout;

import javaawtGridBagConstraints;

import javaawtGridBagLayout;

import javaawtGridLayout;

import javaxswingJFrame;

import javaxswingJMenu;

import javaxswingJMenuBar;

import javaxswingJMenuItem;

import javaxswingJPanel;

import javaxswingJScrollPane;

import javaxswingJTable;

import javaxswingJTextArea;

public class TestApp extends JFrame {

private JTable table;

public TestApp() {

setDefaultCloseOperation(EXIT_ON_CLOSE);

setSize(503, 355);

setLocationRelativeTo(null);

JMenuBar menuBar = new JMenuBar();

setJMenuBar(menuBar);

JMenu mnNewMenu = new JMenu("New menu");

menuBaradd(mnNewMenu);

JMenuItem mntmNewMenuItem = new JMenuItem("New menu item");

mnNewMenuadd(mntmNewMenuItem);

JMenuItem mntmNewMenuItem_1 = new JMenuItem("New menu item");

mnNewMenuadd(mntmNewMenuItem_1);

JMenu mnNewMenu_1 = new JMenu("New menu");

menuBaradd(mnNewMenu_1);

getContentPane()setLayout(new GridLayout(2, 1, 0, 0));

JPanel panel = new JPanel();

getContentPane()add(panel);

panelsetLayout(new BorderLayout(0, 0));

JScrollPane scrollPane = new JScrollPane();

paneladd(scrollPane, BorderLayoutCENTER);

table = new JTable();

scrollPanesetViewportView(table);

JPanel panel_1 = new JPanel();

getContentPane()add(panel_1);

GridBagLayout gbl_panel_1 = new GridBagLayout();

gbl_panel_1columnWidths = new int[]{0, 0};

gbl_panel_1rowHeights = new int[]{0, 0};

gbl_panel_1columnWeights = new double[]{10, DoubleMIN_VALUE};

gbl_panel_1rowWeights = new double[]{10, DoubleMIN_VALUE};

panel_1setLayout(gbl_panel_1);

JScrollPane scrollPane_1 = new JScrollPane();

GridBagConstraints gbc_scrollPane_1 = new GridBagConstraints();

gbc_scrollPane_1fill = GridBagConstraintsBOTH;

gbc_scrollPane_1gridx = 0;

gbc_scrollPane_1gridy = 0;

panel_1add(scrollPane_1, gbc_scrollPane_1);

JTextArea textArea = new JTextArea();

scrollPane_1setViewportView(textArea);

setVisible(true);

}

public static void main(String[] args) {

new TestApp();

}

}

如果你要求窗体变化时TEXTAREA的长度变化,而高度不变,这个应该不是布局所能做到的了,

布局就是使窗体中的控件能作到自适应。

如果是这个要求。

用JSplitPane可以实现这样的效果

方案二

import javaawtBorderLayout;

import javaawteventComponentEvent;

import javaawteventComponentListener;

import javaxswingJFrame;

import javaxswingJMenu;

import javaxswingJMenuBar;

import javaxswingJMenuItem;

import javaxswingJPanel;

import javaxswingJSplitPane;

import javaxswingJScrollPane;

import javaxswingJTable;

import javaxswingJTextArea;

public class TestApp extends JFrame implements ComponentListener {

JSplitPane splitPane = null;

int width = 503;

private JTable table;

public TestApp() {

setDefaultCloseOperation(EXIT_ON_CLOSE);

setSize(503, 355);

setLocationRelativeTo(null);

JMenuBar menuBar = new JMenuBar();

setJMenuBar(menuBar);

JMenu mnNewMenu = new JMenu("New menu");

menuBaradd(mnNewMenu);

JMenuItem mntmNewMenuItem = new JMenuItem("New menu item");

mnNewMenuadd(mntmNewMenuItem);

JMenuItem mntmNewMenuItem_1 = new JMenuItem("New menu item");

mnNewMenuadd(mntmNewMenuItem_1);

JMenu mnNewMenu_1 = new JMenu("New menu");

menuBaradd(mnNewMenu_1);

getContentPane()setLayout(new BorderLayout(0, 0));

splitPane = new JSplitPane();

splitPanesetOrientation(JSplitPaneVERTICAL_SPLIT);

splitPaneaddComponentListener(this);

getContentPane()add(splitPane, BorderLayoutCENTER);

JPanel panel = new JPanel();

splitPanesetRightComponent(panel);

panelsetLayout(new BorderLayout(0, 0));

JScrollPane scrollPane_1 = new JScrollPane();

paneladd(scrollPane_1, BorderLayoutCENTER);

JTextArea textArea = new JTextArea();

scrollPane_1setViewportView(textArea);

JPanel panel_1 = new JPanel();

splitPanesetLeftComponent(panel_1);

panel_1setLayout(new BorderLayout(0, 0));

JScrollPane scrollPane_2 = new JScrollPane();

panel_1add(scrollPane_2, BorderLayoutCENTER);

table = new JTable();

scrollPane_2setViewportView(table);

setVisible(true);

}

public static void main(String[] args) {

new TestApp();

}

@Override

public void componentHidden(ComponentEvent e) {

// TODO Auto-generated method stub

}

@Override

public void componentMoved(ComponentEvent e) {

// TODO Auto-generated method stub

}

@Override

public void componentResized(ComponentEvent e) {

if (thisgetWidth() > width) {

splitPanesetDividerLocation(08);

} else {

splitPanesetDividerLocation(06);

}

}

@Override

public void componentShown(ComponentEvent e) {

// TODO Auto-generated method stub

}

}

可以使用JoptionPane:

有几种提示框:

第一种:

JOptionPaneshowMessageDialog(jPanel, "提示消息", "标题",JOptionPaneWARNING_MESSAGE);  

第二种:

int n = JOptionPaneshowConfirmDialog(null, "你高兴吗", "标题",JOptionPaneYES_NO_OPTION);//返回的是按钮的index  i=0或者1  

第三种:

Object[] obj2 ={ "足球", "篮球", "乒乓球" };  

String s = (String) JOptionPaneshowInputDialog(null,"请选择你的爱好:\n", "爱好", JOptionPanePLAIN_MESSAGE, new ImageIcon("iconpng"), obj2, "足球");  

欢迎分享,转载请注明来源:表白网

原文地址:https://h5.hunlipic.com/biaobai/3880052.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2024-03-31
下一篇2024-03-31

发表评论

登录后才能评论

评论列表(0条)

    保存