我是一名初学者。我试图创建一个选项卡式窗口作为我的项目的GUI的一部分。但是,如下所示,用于导航选项卡的按钮显示某种类型的边框。有没有办法删除这些边界?看到附加的图像看问题。Java Swing GUI,自定义JtabbedPane风格
用于GUI的代码如下
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
public class tst {
/**
* @param args the command line arguments
*/
public static String generateHtml(String tabButtonLabel,String style) {
/*@@Generates HTML for the tab button when the button label is given*/
String ret = "<html><body style = '"+style+"'>"+tabButtonLabel+"</body></html>";
return ret;
}
public static void main(String[] args) {
// TODO code application logic here
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
JFrame frame = new JFrame("tst");
frame.setVisible(true);
frame.setSize(screenSize);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
/*Groups tab*/
JPanel groups = new JPanel();
groups.setBackground(Color.gray);
/*Settings Tab*/
JPanel settings = new JPanel();
/*About Tab*/
JPanel about = new JPanel();
/*Tabbed pane to hold all panels*/
JTabbedPane tabbedPane = new JTabbedPane();
/*Tabbed Pane CSS*/
String tabButtonCss = "margin:0;width:110px;height:10px;border-radius:3px;padding:10px;background:#fff;text-align:center;border:none;";
tabbedPane.setVisible(true);
tabbedPane.add(generateHtml("Groups",tabButtonCss),groups);
tabbedPane.add("Settings",settings);
tabbedPane.add("About",about);
/*Tab styles*/
tabbedPane.setBackground(Color.gray);
tabbedPane.setForeground(Color.white);
tabbedPane.setBounds(0, 0, 0,0);
//tabbedPane.setBorder(new EmptyBorder(-10,-20,-10,0));
frame.add(tabbedPane);
}
}
大多数可能是效果过得去'tabButtonCss'引起的。 – Smit 2013-03-25 18:59:23
在这里看到也许是一个更清洁的解决方案:http://stackoverflow.com/questions/8752037/how-to-change-background-color-of-jtabbedpane – whiskeyspider 2013-03-25 19:01:36
为了更好的帮助更快,发布[SSCCE](http:// sscce.org/)。 – 2013-03-26 00:00:12