我照书上写了下面的程序,为什么要将窗口最大化后才能显示窗体里的内容,我是新手,大虾帮忙解释下,谢谢
packagepFrame;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclass...
package pFrame;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class SwingText extends JFrame{
JTextField jtf;
JTextArea jta;
JButton jbtn_sub;
JButton jbtn_ref;
public SwingText(){
super("Swing包的两个文本框程序");
setBounds(100,100,400,300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c=getContentPane();
c.setLayout(new FlowLayout());
jtf=new JTextField(15);
c.add(jtf);
jbtn_sub=new JButton("确认");
jbtn_sub.addActionListener(new Listener_jbtn_sub());
c.add(jbtn_sub);
jbtn_ref=new JButton("取消");
jbtn_ref.addActionListener(new Listener_jbtn_ref());
c.add(jbtn_ref);
jta=new JTextArea(11,30);
c.add(jta);
// setSize(400,300);
// show();
}
private class Listener_jbtn_sub implements ActionListener{
public void actionPerformed(ActionEvent e){
String s="";
if(jta.getLineCount()>10)
JOptionPane.showMessageDialog(null, "对不起,已超过十行!");
s=jtf.getText();
if(s.equals(""))
JOptionPane.showMessageDialog(null, "内容不能为空!");
else{
jta.append(s+"\n");
jtf.setText("");
}
}
}
private class Listener_jbtn_ref implements ActionListener{
public void actionPerformed(ActionEvent e){
jta.setText("");
}
}
public static void main(String[] args){
SwingText st=new SwingText();
}
}
setBounds(100,100,400,300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
这段放在setSize()前就没问题,我想知道为什么放在最前面会出现问题 展开
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class SwingText extends JFrame{
JTextField jtf;
JTextArea jta;
JButton jbtn_sub;
JButton jbtn_ref;
public SwingText(){
super("Swing包的两个文本框程序");
setBounds(100,100,400,300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c=getContentPane();
c.setLayout(new FlowLayout());
jtf=new JTextField(15);
c.add(jtf);
jbtn_sub=new JButton("确认");
jbtn_sub.addActionListener(new Listener_jbtn_sub());
c.add(jbtn_sub);
jbtn_ref=new JButton("取消");
jbtn_ref.addActionListener(new Listener_jbtn_ref());
c.add(jbtn_ref);
jta=new JTextArea(11,30);
c.add(jta);
// setSize(400,300);
// show();
}
private class Listener_jbtn_sub implements ActionListener{
public void actionPerformed(ActionEvent e){
String s="";
if(jta.getLineCount()>10)
JOptionPane.showMessageDialog(null, "对不起,已超过十行!");
s=jtf.getText();
if(s.equals(""))
JOptionPane.showMessageDialog(null, "内容不能为空!");
else{
jta.append(s+"\n");
jtf.setText("");
}
}
}
private class Listener_jbtn_ref implements ActionListener{
public void actionPerformed(ActionEvent e){
jta.setText("");
}
}
public static void main(String[] args){
SwingText st=new SwingText();
}
}
setBounds(100,100,400,300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
这段放在setSize()前就没问题,我想知道为什么放在最前面会出现问题 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询