java类右下角多一块蓝色_java – 如何删除在JTabbedPane中选择选项卡时出现的蓝色边框高亮显示?...

这是我的

previous question的延续,但它解决了一个对其他人有用的特定问题,所以我想我会把它作为一个单独的问题发布.

我已经成功创建了一个JTabbedPane,但是有一个蓝色边框突出显示,显示我要删除的选项卡:

为了澄清我的意思,这里是一张JTabbedPane的图片,没有Eclipse的蓝色边框高亮:

我试过的东西已经被注释掉了:

public class SeaGlassExercise {

public static void initWindow() {

JFrame frame = new JFrame("Application Name");

CustomTabbedPane content = new CustomTabbedPane();

frame.setContentPane(content);

frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

frame.setLocationByPlatform(true);

// try {

// UIManager.setLookAndFeel(

// UIManager.getSystemLookAndFeelClassName());

// } catch (Exception e) {

// e.printStackTrace();

// }

// SwingUtilities.updateComponentTreeUI(frame);

frame.pack();

frame.setVisible(true);

}

public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable() {

@Override

public void run() {

initWindow();

}

});

}

}

class CustomTabbedPane extends JPanel {

public CustomTabbedPane() {

super(new GridLayout(1, 1));

// UIManager.put("TabbedPane.contentAreaColor", Color.GREEN);

// UIManager.put("TabbedPane.light", ColorUIResource.GREEN);

// UIManager.put("TabbedPane.highlight", ColorUIResource.GREEN);

// UIManager.put("TabbedPane.shadow", ColorUIResource.GREEN);

// UIManager.put("TabbedPane.darkShadow", ColorUIResource.GREEN);

// UIManager.put("TabbedPane.selected", ColorUIResource.GREEN);

// UIManager.put("TabbedPane.borderHightlightColor", ColorUIResource.GREEN);

// UIManager.put("TabbedPane.borderHightlightColor", ColorUIResource.GREEN);

// UIManager.put("TabbedPane.contentBorderInsets", new Insets(0, 0, 0, 0));

JTabbedPane tabbedPane = new JTabbedPane();

JComponent panel1 = makeTextPanel("Panel #1");

tabbedPane.addTab("AAA", panel1);

JComponent panel2 = makeTextPanel("Panel #2");

tabbedPane.addTab("BBB", panel2);

JComponent panel3 = makeTextPanel("Panel #3");

tabbedPane.addTab("CCC", panel3);

JComponent panel4 = makeTextPanel("Panel #4");

tabbedPane.addTab("DDD", panel4);

add(tabbedPane);

tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);

}

protected JComponent makeTextPanel(String text) {

JPanel panel = new JPanel();

JLabel filler = new JLabel(text);

filler.setHorizontalAlignment(JLabel.CENTER);

panel.setLayout(new GridLayout(1, 1));

panel.add(filler);

return panel;

}

}

附加信息

我目前正在使用OS X Mountain Lion和java版“1.7.0_25”,Java(TM)SE运行时环境(版本1.7.0_25-b15)运行我的程序.我使用默认外观(即我没有在我的代码中使用.setUI()指定任何内容).

以下是我看过的一些问题:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以给你提供一个简单的Java程序来实现这个功能。该程序将创建一个选项卡窗口,其包含三个选项卡,分别用于计算圆形、矩形和三角形的面积。下面是程序的代码: ```java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class AreaCalculator extends JFrame implements ActionListener { private JTabbedPane tabbedPane; private JPanel circlePanel, rectanglePanel, trianglePanel; private JTextField circleRadiusField, rectangleLengthField, rectangleWidthField, triangleBaseField, triangleHeightField; private JLabel circleAreaLabel, rectangleAreaLabel, triangleAreaLabel; public AreaCalculator() { setTitle("Area Calculator"); setSize(400, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 创建选项卡窗口 tabbedPane = new JTabbedPane(); circlePanel = new JPanel(); rectanglePanel = new JPanel(); trianglePanel = new JPanel(); tabbedPane.add("Circle", circlePanel); tabbedPane.add("Rectangle", rectanglePanel); tabbedPane.add("Triangle", trianglePanel); // 添加圆形选项卡 JLabel circleRadiusLabel = new JLabel("Radius:"); circleRadiusField = new JTextField(10); JButton circleButton = new JButton("Calculate"); circleButton.addActionListener(this); circleAreaLabel = new JLabel(""); circlePanel.add(circleRadiusLabel); circlePanel.add(circleRadiusField); circlePanel.add(circleButton); circlePanel.add(circleAreaLabel); // 添加矩形选项卡 JLabel rectangleLengthLabel = new JLabel("Length:"); rectangleLengthField = new JTextField(10); JLabel rectangleWidthLabel = new JLabel("Width:"); rectangleWidthField = new JTextField(10); JButton rectangleButton = new JButton("Calculate"); rectangleButton.addActionListener(this); rectangleAreaLabel = new JLabel(""); rectanglePanel.add(rectangleLengthLabel); rectanglePanel.add(rectangleLengthField); rectanglePanel.add(rectangleWidthLabel); rectanglePanel.add(rectangleWidthField); rectanglePanel.add(rectangleButton); rectanglePanel.add(rectangleAreaLabel); // 添加三角形选项卡 JLabel triangleBaseLabel = new JLabel("Base:"); triangleBaseField = new JTextField(10); JLabel triangleHeightLabel = new JLabel("Height:"); triangleHeightField = new JTextField(10); JButton triangleButton = new JButton("Calculate"); triangleButton.addActionListener(this); triangleAreaLabel = new JLabel(""); trianglePanel.add(triangleBaseLabel); trianglePanel.add(triangleBaseField); trianglePanel.add(triangleHeightLabel); trianglePanel.add(triangleHeightField); trianglePanel.add(triangleButton); trianglePanel.add(triangleAreaLabel); add(tabbedPane); setVisible(true); } public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equals("Calculate")) { if (tabbedPane.getSelectedIndex() == 0) { // 计算圆形面积 double radius = Double.parseDouble(circleRadiusField.getText()); double area = Math.PI * radius * radius; circleAreaLabel.setText("Area: " + area); } else if (tabbedPane.getSelectedIndex() == 1) { // 计算矩形面积 double length = Double.parseDouble(rectangleLengthField.getText()); double width = Double.parseDouble(rectangleWidthField.getText()); double area = length * width; rectangleAreaLabel.setText("Area: " + area); } else if (tabbedPane.getSelectedIndex() == 2) { // 计算三角形面积 double base = Double.parseDouble(triangleBaseField.getText()); double height = Double.parseDouble(triangleHeightField.getText()); double area = 0.5 * base * height; triangleAreaLabel.setText("Area: " + area); } } } public static void main(String[] args) { new AreaCalculator(); } } ``` 程序使用了JTabbedPane来创建选项卡窗口,每个选项卡包含一个表单和一个计算按钮,用于输入参数并计算面积。当用户点击计算按钮,程序将根据当前选项卡的索引来计算相应的面积,并将结果显示在标签

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值