写了个Frame却什么也显示不出来,这是为什么?import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Computor {
public static void main(String[] args) {
new ComputorFrame();
}}class ComputorFrame extends JFrame{ JLabel jl1,jl2,jl3,jl4,jl5,jl6;
public ComputorFrame(){
super("计算器");
Container container=getContentPane();
jl1=new JLabel("被乘数");
jl2=new JLabel("乘数");
jl3=new JLabel("积");
JPanel p1=new JPanel();
p1.setLayout(null);
p1.add(jl1);
p1.add(jl2);
p1.add(jl3);
jl1.setSize(50, 40);
jl1.setLocation(50, 0);
jl2.setSize(50, 40);
jl2.setLocation(100, 0);
jl3.setSize(50, 40);
jl3.setLocation(150, 0); jl4=new JLabel("被除数");
jl5=new JLabel("除数");
jl6=new JLabel("商");
JPanel p2=new JPanel();
p2.setLayout(null);
p2.add(jl4);
p2.add(jl5);
p2.add(jl6);
jl4.setSize(50, 40);
jl4.setLocation(50, 50);
jl5.setSize(50, 40);
jl5.setLocation(100, 50);
jl6.setSize(50, 40);
jl6.setLocation(150, 50);
container.add(p1,BorderLayout.NORTH);
container.add(p2,BorderLayout.SOUTH);
setSize(300,300);
setVisible(true);
}
}
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Computor {
public static void main(String[] args) {
new ComputorFrame();
}}class ComputorFrame extends JFrame{ JLabel jl1,jl2,jl3,jl4,jl5,jl6;
public ComputorFrame(){
super("计算器");
Container container=getContentPane();
jl1=new JLabel("被乘数");
jl2=new JLabel("乘数");
jl3=new JLabel("积");
JPanel p1=new JPanel();
p1.setLayout(null);
p1.add(jl1);
p1.add(jl2);
p1.add(jl3);
jl1.setSize(50, 40);
jl1.setLocation(50, 0);
jl2.setSize(50, 40);
jl2.setLocation(100, 0);
jl3.setSize(50, 40);
jl3.setLocation(150, 0); jl4=new JLabel("被除数");
jl5=new JLabel("除数");
jl6=new JLabel("商");
JPanel p2=new JPanel();
p2.setLayout(null);
p2.add(jl4);
p2.add(jl5);
p2.add(jl6);
jl4.setSize(50, 40);
jl4.setLocation(50, 50);
jl5.setSize(50, 40);
jl5.setLocation(100, 50);
jl6.setSize(50, 40);
jl6.setLocation(150, 50);
container.add(p1,BorderLayout.NORTH);
container.add(p2,BorderLayout.SOUTH);
setSize(300,300);
setVisible(true);
}
}
解决方案 »
- SQL语句
- 请教一个在windows2003下运行一个java有100线程的小程序的问题?
- java 中哪个类能实现IDE环境中的语法着色功能?
- 数据结构.
- <<左移位到底是带符号位的还是不带符号位的?java书里没有明确说明。
- 在JTextField中怎么限制只让它输入0-9的数字、(、)、- 等这些符号呢?用JFormattedTextField能实现吗?给点用它的实现代码吧!
- 开源项目协同开发!大家参与进来
- 请问 System.exit(n) n =1,-1,0 的各个含义是什么?
- 请问textarea中的字体颜色问题
- 8位2进制串问题
- 强烈提问,忘大虾们给指点迷津
- 最后30分了。 时间只剩不下多少 请kao331431214进来下
import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Computor {
public static void main(String[] args) {
new ComputorFrame();
}}class ComputorFrame extends JFrame{ JLabel jl1,jl2,jl3,jl4,jl5,jl6;
public ComputorFrame(){
super("计算器");
Container container=getContentPane();
jl1=new JLabel("被乘数");
jl2=new JLabel("乘数");
jl3=new JLabel("积");
JPanel p1=new JPanel();
//p1.setLayout(null);
p1.add(jl1);
p1.add(jl2);
p1.add(jl3);
jl1.setSize(50, 40);
jl1.setLocation(50, 0);
jl2.setSize(50, 40);
jl2.setLocation(100, 0);
jl3.setSize(50, 40);
jl3.setLocation(150, 0); jl4=new JLabel("被除数");
jl5=new JLabel("除数");
jl6=new JLabel("商");
JPanel p2=new JPanel();
//p2.setLayout(null);
p2.add(jl4);
p2.add(jl5);
p2.add(jl6);
jl4.setSize(50, 40);
jl4.setLocation(50, 50);
jl5.setSize(50, 40);
jl5.setLocation(100, 50);
jl6.setSize(50, 40);
jl6.setLocation(150, 50);
container.add(p1,BorderLayout.NORTH);
container.add(p2,BorderLayout.SOUTH);
setSize(300,300);
setVisible(true);
}
}
最好用一种布局
这么说吧,有30多个组件放进去,每一个的位置都要用x、y坐标精确定义,该用什么方法?
jl1.setLocation(50, 0);
jl2.setSize(50, 40);
jl2.setLocation(100, 0);
jl3.setSize(50, 40);
jl3.setLocation(150, 0);
你的这些坐标定位希望是相对于什么的
如果是相对于container的import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Computor {
public static void main(String[] args) {
new ComputorFrame();
}}class ComputorFrame extends JFrame{ JLabel jl1,jl2,jl3,jl4,jl5,jl6;
public ComputorFrame(){
super("计算器");
Container container=getContentPane();
container.setLayout(null);
jl1=new JLabel("被乘数");
jl2=new JLabel("乘数");
jl3=new JLabel("积");
container.add(jl1);
container.add(jl2);
container.add(jl3);
jl1.setSize(50, 40);
jl1.setLocation(50, 0);
jl2.setSize(50, 40);
jl2.setLocation(100, 0);
jl3.setSize(50, 40);
jl3.setLocation(150, 0); jl4=new JLabel("被除数");
jl5=new JLabel("除数");
jl6=new JLabel("商");
container.add(jl4);
container.add(jl5);
container.add(jl6);
jl4.setSize(50, 40);
jl4.setLocation(50, 50);
jl5.setSize(50, 40);
jl5.setLocation(100, 50);
jl6.setSize(50, 40);
jl6.setLocation(150, 50);
setSize(300,300);
setVisible(true);
}
}
如果你是想相对于panel的import java.awt.*;
import javax.swing.*;public class Computor
{
public static void main(String[] args)
{
new ComputorFrame();
}
}class ComputorFrame extends JFrame
{
public ComputorFrame()
{
super("计算器");
Container container=getContentPane();
container.setLayout(new GridLayout(2, 1));
MPanel p1=new MPanel();
YPanel p2=new YPanel();
container.add(p1);
container.add(p2);
setSize(300,300);
setVisible(true);
}
}class MPanel extends JPanel
{
public MPanel()
{
setLayout(null);
JLabel jl1=new JLabel("被乘数");
JLabel jl2=new JLabel("乘数");
JLabel jl3=new JLabel("积");
jl1.setSize(50, 40);
jl1.setLocation(50, 0);
jl2.setSize(50, 40);
jl2.setLocation(100, 0);
jl3.setSize(50, 40);
jl3.setLocation(150, 0);
add(jl1);
add(jl2);
add(jl3);
}
}class YPanel extends JPanel
{
public YPanel()
{
setLayout(null);
JLabel jl4=new JLabel("被除数");
JLabel jl5=new JLabel("除数");
JLabel jl6=new JLabel("商");
jl4.setSize(50, 40);
jl4.setLocation(50, 50);
jl5.setSize(50, 40);
jl5.setLocation(100, 50);
jl6.setSize(50, 40);
jl6.setLocation(150, 50);
add(jl4);
add(jl5);
add(jl6);
}
}