小编mre*_*mre的帖子

如何改变JTabbedPane的背景颜色?

我知道您可以修改LaF属性,但是如何在不执行此操作的情况下完成此操作?我只是问,因为setBackground似乎没有这样做.

请注意,我正在寻找更改以下属性:

  1. TabbedPane.background(或TabbedPane.contentAreaColor?)
  2. TabbedPane.tabAreaBackground

java swing background-color jtabbedpane

6
推荐指数
1
解决办法
2万
查看次数

Java - 如何从绝对路径获取文件名并删除其文件扩展名?

我有一个问题,我有一个包含值C:\ Users\Ewen\AppData\Roaming\MyProgram\Test.txt的String,我想删除C:\ Users\Ewen\AppData\Roaming\MyProgram \所以只留下测试.所以问题是,如何删除字符串的任何部分.

谢谢你的时间!:)

java string file

6
推荐指数
1
解决办法
2580
查看次数

将JTable动态添加到JScrollPane

当用户提示我这样做时,我想要填充一个表.问题是,我无法预测表最终会有多少行.在我的面板的构造函数中,我将显示表

    // add empty scrollPane to JPanel which will later hold table
              scrollPane = new JScrollPane(); 
    add(scrollPane);
Run Code Online (Sandbox Code Playgroud)

这个类包含一个方法,当我想最终显示表时将调用该方法

    public void displayTable(String[] columnNames, String[][] dataValues)
{
    table = new JTable(dataValues, columnNames);
    table.setPreferredScrollableViewportSize(new Dimension(300, 80)); 
    table.setFillsViewportHeight(true); 
    scrollPane.add(table);

    this.setVisible(true);
    scrollPane.repaint();

}
Run Code Online (Sandbox Code Playgroud)

问题是,表格永远不会显示.我只看到ScrollPane里面没有桌子的轮廓.为什么不显示表格以及如何修复它?

java swing jtable jscrollpane

6
推荐指数
2
解决办法
1万
查看次数

Java Swing revalidate()和repaint()问题

我有一个小的java桌面应用程序,需要能够分别单击"+"和" - "按钮动态添加和删除字段.我已经通过调用revalidate()然后在所有父容器上重绘()直到ActionListener中的JFrame来实现这一点.

这似乎已经成功,但偶尔它不起作用,JPanels没有正确调整大小.这种情况很少发生并且看似随意,让我相信这可能是一个并发问题.我尝试从事件派发线程启动父容器,但这还没有解决问题.

这实际上是一个并发问题还是我在错误的树上咆哮?任何人都知道发生了什么以及如何解决这个问题?

非常感激

-SwingNoob

java swing

5
推荐指数
2
解决办法
4451
查看次数

Java - 如何将组件的垂直列居中?

这很简单,我想做什么,但我无法想办法.在JFrame或JPanel中,如何垂直居中组件?也就是说,类似于在HTML中使用中心标记.组件位于列中,它们都居中.

我尝试过使用Y_AXIS和PAGE_AXIS的BoxLayout,但它以一种奇怪的方式对齐我的组件.我试图使用FlowLayout设置首选大小,以便它包裹,但它不会居中.除非它真的是唯一的选择,否则我宁愿不使用像GridBagLayout这样强大的东西来做这么简单的事情.救命!

java layout swing center

5
推荐指数
1
解决办法
7407
查看次数

在Netbeans中获取JFrame边界的问题

我想在我的程序中按下按钮时,将JFrame动画化为半角.我认为最简单的方法是将JFrame的当前边界放入计时器,并在计时器运行时将边界减1,但是当我在netbeans IDE中声明一个新的计时器时,它看起来像这样.

      Timer t = new Timer(5,new ActionListener() {

        public void actionPerformed(ActionEvent e) {

          //inside this I want to get my Jframe's bounds like this
           //    int width = this.getWidth();---------here,"this" means the Jframe

           }

        }
    });
Run Code Online (Sandbox Code Playgroud)

但问题是在这里"这个"并没有引用JFrame.And我甚至无法创建我的JFrame的新对象.因为它会给我另一个窗口.任何人都可以帮我解决这个问题吗?

java swing timer jframe bounds

5
推荐指数
2
解决办法
856
查看次数

是否可以使用nimbus laf更改jspinner的背景?

我相信我在向你寻求帮助之前已完成了我的研究,但我可能忽略了一些东西.

我正在使用Nimbus laf编写一个java UI.我希望在状态改变时更改JSpinner的背景颜色,即,当按下向上或向下按钮时,jspinner中文本字段的背景颜色会改变颜色以表示该值已被更改.

我知道这可以使用OTHER lookandfeels但使用Nimbus不那么容易,例如: ((JSpinner.NumberEditor)jSpinner1.getEditor()).getTextField().setBackground(color.yellow);

我还研究过实际更改UI管理器的颜色主题,但我只想在操作发生时更改颜色,而不是仅在默认情况下改变整体颜色. 在这里这里

这有可能吗?我从哪里开始?

如果做不到这一点,我希望只是改变一个按钮的颜色: jButton.setBackground(Color.yellow);

这很容易,但由于默认颜色是绘制的渐变,我该如何将其更改为?

真的希望那里的人知道或可以提供帮助.

非常感谢提前!

java swing background-color jspinner nimbus

5
推荐指数
1
解决办法
2119
查看次数

如何将[简体]中文字符打印到Eclipse控制台?

我有以下代码:

import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
import java.util.Locale;

public final class ChineseCharacterDemo {

    public static void main(String[] args) throws UnsupportedEncodingException {
        Locale locale = new Locale("zh", "CN");
        System.out.println(locale.getDisplayLanguage(Locale.SIMPLIFIED_CHINESE));
    }

}
Run Code Online (Sandbox Code Playgroud)

甚至在将Eclipse控制台的字符编码设置为UTF-8后,我得到的是框,而不是以下内容:

??
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?


编辑-

将Eclipse控制台字体更改为能够呈现中文字符的内容后,我得到以下不正确的显示:

在此输入图像描述

但是,当我在这里复制/粘贴文本时,它会正确呈现简体中文文本.再一次,这里发生了什么?实际上,如果你在控制台中查看渲染文本,它是正确的字符,但它们就在他们身边!


解析度-

所以,事实证明我需要做以下事情:

  1. 将Eclipse控制台的字符编码更改为UTF-8
  2. 将字体更改为Arial Unicode MS(即任何能够呈现中文文本的字体)

java eclipse character-encoding cjk

5
推荐指数
1
解决办法
7757
查看次数

为什么Graphics的draw方法不尊重笔画属性?

我想创建一个带圆角的自定义边框.

代码 -

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Component;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Insets;
import java.awt.RenderingHints;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.border.AbstractBorder;

class JRoundedCornerBorder extends AbstractBorder 
{   
    private static final long serialVersionUID = 7644739936531926341L;
    private static final int THICKNESS = 5;

    JRoundedCornerBorder()
    {
        super();
    }

    @Override
    public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) 
    {
        Graphics2D g2 = (Graphics2D)g.create();

        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
        if(c.hasFocus())
        {
            g2.setColor(Color.BLUE);
        }
        else
        {
            g2.setColor(Color.BLACK);
        } …
Run Code Online (Sandbox Code Playgroud)

java graphics swing java-2d stroke

5
推荐指数
2
解决办法
1970
查看次数

如何安装/配置自定义Java外观?

我正在尝试安装Sea Glass Look and Feel.我想使用属性文件安装/配置LaF,但是概述此过程的教程非常混乱.

话虽这么说,任何人都可以提供有关使用属性文件安装/配置自定义LaF的简单分步指南吗?

java installation swing properties look-and-feel

5
推荐指数
1
解决办法
1万
查看次数