JAVA中的SWING编程小问题
importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;classMyJDialogextendsJDia...
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class MyJDialog extends JDialog{
private static final long serialVersionUID = 1L;
public MyJDialog(MyFrame frame){
super(frame,"第一个对话框",true);
Container container=getContentPane();
container.add(new JLabel("这是一个对话框"));
setBounds(120,120,100,100);
}
}
public class MyFrame extends JFrame{
private static final long serialVersionUID = 1L;
public static void main(String[] args) {
// TODO Auto-generated method stub
new MyFrame();
}
public MyFrame(){
Container container=getContentPane();
container.setLayout(null);
JLabel jl=new JLabel("这是一个JF窗体");、、、、、、、、、、、就是这里
jl.setHorizontalAlignment(SwingConstants.CENTER);
container.add(jl);
JButton bl=new JButton("弹出对话框");
bl.setBounds(10,10,100,21);
bl.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
new MyJDialog(MyFrame.this).setVisible(true);
}
});
container.add(bl);
container.setBackground(Color.white);
setSize(200,200);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
setVisible(true);
}
}
问 这个程序中的JLable标签内容为什么没有显示出来呢 展开
import java.awt.event.*;
import javax.swing.*;
class MyJDialog extends JDialog{
private static final long serialVersionUID = 1L;
public MyJDialog(MyFrame frame){
super(frame,"第一个对话框",true);
Container container=getContentPane();
container.add(new JLabel("这是一个对话框"));
setBounds(120,120,100,100);
}
}
public class MyFrame extends JFrame{
private static final long serialVersionUID = 1L;
public static void main(String[] args) {
// TODO Auto-generated method stub
new MyFrame();
}
public MyFrame(){
Container container=getContentPane();
container.setLayout(null);
JLabel jl=new JLabel("这是一个JF窗体");、、、、、、、、、、、就是这里
jl.setHorizontalAlignment(SwingConstants.CENTER);
container.add(jl);
JButton bl=new JButton("弹出对话框");
bl.setBounds(10,10,100,21);
bl.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
new MyJDialog(MyFrame.this).setVisible(true);
}
});
container.add(bl);
container.setBackground(Color.white);
setSize(200,200);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
setVisible(true);
}
}
问 这个程序中的JLable标签内容为什么没有显示出来呢 展开
2个回答
展开全部
因为你没有设置JLabel的位置与大小。
这样:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class MyJDialog extends JDialog {
private static final long serialVersionUID = 1L;
public MyJDialog(MyFrame frame) {
super(frame,"第一个对话框",true);
Container container=getContentPane();
container.add(new JLabel("这是一个对话框"));
setBounds(120,120,100,100);
}
}
public class MyFrame extends JFrame {
private static final long serialVersionUID = 1L;
public static void main(String[] args) {
new MyFrame();
}
public MyFrame() {
Container container=getContentPane();
container.setLayout(null);
JLabel jl=new JLabel("这是一个JF窗体");
jl.setHorizontalAlignment(SwingConstants.CENTER);
jl.setBounds(50,10,100,21); //加一句设置位置大小的语句
container.add(jl);
JButton bl=new JButton("弹出对话框");
bl.setBounds(50,40,100,21); //改一下,以便于显示JLabel
bl.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
new MyJDialog(MyFrame.this).setVisible(true);
}
});
container.add(bl);
container.setBackground(Color.white);
setSize(200,200);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
setVisible(true);
}
}
效果:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询