的默认布局管理器是BorderLayout,BorderLayout将容器(也就是JFrame)分成东
西
南
北
中
五个部分,向JFrame添加控件时BorderLayout默认将控件的位置设置为中间位置,所以你的设置不起作用
看了你的问题是想通过坐标控制控件,所以要将JFrame的布局管理器设置为绝度布局,即
mainFrame.setLayout(null)将布局管理器设置为null.
向其中动态添加文字有两种实现方式
1、是重写JPanel的paintComponent(Graphics
g)方法2、是动态添加JLabel
写个例子参考:package com.htzy
import javax.swing.*
public class Demo1_1 extends JFrame{
//变量
JPanel jp1,jp2
JTextField jt
JButton jb
public static void main(String[] args) {
new Demo1_1()
}
//构造函数
public Demo1_1(){
jp1 = new JPanel()
jp2 = new JPanel()
jt = new JTextField(10)
jb = new JButton("确定")
jp1.add(jt)
jp1.add(jb)
jp2.add(jp1)//把jp1面板加入到jp2中
this.add(jp2)
this.setSize(240,200)
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
this.setVisible(true)
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)