展开全部
简单说说Swing组件的void setBorder(Border border)方法吧:
Swing组件继承自javax.swing.JComponent的void setBorder(Border border)方法可以设置组件的边框,参数Border 对象负责定义组件的insets,并且可选地呈现这些insets范围内的边框装饰,在单个组件中可使用复合边框来嵌套多个边框。
参数Border是接口,我们无法直接实例化,它有很多标准边框实现类可供我们使用,但是我们更多的是是用BorderFactory(边框工厂)来方便的创建我们所需要的个性化边框,使用起来非常简单,BorderFactory的静态方法创建边框会返回一个Border对象,直接使用它来设置边框就可以了。
例:
JButton b = new JButton("你好");
b.setBorder(BorderFactory.createLoweredBevelBorder()); // 创建一个凹入边缘的边框
你图片上那个是标题边框,一般加在JPanel上:
JPanel pane = new JPanel();
pane.setBorder(BorderFactory.createTitledBorder("标题文字"));
Swing组件继承自javax.swing.JComponent的void setBorder(Border border)方法可以设置组件的边框,参数Border 对象负责定义组件的insets,并且可选地呈现这些insets范围内的边框装饰,在单个组件中可使用复合边框来嵌套多个边框。
参数Border是接口,我们无法直接实例化,它有很多标准边框实现类可供我们使用,但是我们更多的是是用BorderFactory(边框工厂)来方便的创建我们所需要的个性化边框,使用起来非常简单,BorderFactory的静态方法创建边框会返回一个Border对象,直接使用它来设置边框就可以了。
例:
JButton b = new JButton("你好");
b.setBorder(BorderFactory.createLoweredBevelBorder()); // 创建一个凹入边缘的边框
你图片上那个是标题边框,一般加在JPanel上:
JPanel pane = new JPanel();
pane.setBorder(BorderFactory.createTitledBorder("标题文字"));
更多追问追答
追问
你好,怎么能够做到性别那个框的效果?
追答
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
public class Test extends JFrame {
public Test() {
JPanel pane = new JPanel(null);
JPanel sexPane = new JPanel();
// 设置标题边框,其实就这一句在起作用
sexPane.setBorder(BorderFactory.createTitledBorder("性别"));
sexPane.add(new JRadioButton("男"));
sexPane.add(new JRadioButton("女"));
getContentPane().add(pane);
pane.add(sexPane);
sexPane.setBounds(20, 20, 150, 80);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 200);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
new Test();
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询