java 图形用户界面 边框

怎么做边框呢?最好有性别那个框的代码。

简单说说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("标题文字"));追问

你好,怎么能够做到性别那个框的效果?

追答

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();
}

}

追问

边框内容要是竖着排列的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-15
调用BorderFactory这个类的静态方法创建边框
相似回答