小编jad*_*jan的帖子

NetBeans - JComboBox警告 - 缺少泛型类JComboBox <E>的类型参数

我正在使用NetBeans IDE 7.1.2.当我编译我的应用程序时,我收到以下警告:

警告:[rawtypes]发现原始类型:JComboBox city = new javax.swing.JComboBox(); 缺少通用类JComboBox的类型参数,其中E是类型变量:E扩展在类JComboBox中声明的Object

所以,我想我必须将JComboBox声明为:

JComboBox<String> city = new JComboBox<String>();
Run Code Online (Sandbox Code Playgroud)

但是如何使用Matisse(Swing GUI Builder)在NetBeans中执行此操作?请帮忙.

swing warnings matisse jcombobox netbeans-7

11
推荐指数
2
解决办法
6528
查看次数

当我尝试将HTML与`JOptionPane`一起使用时,会打印HTML标记而不是HTML格式

出于某些奇怪的原因,当我尝试使用HTML时JOptionPane,会打印HTML标记而不是HTML格式.

String msg = "Please fix <HTML><BODY BGCOLOR=#FFCCCC>this</BODY></HTML>";
JLabel message = new JLabel(msg);
JOptionPane.showMessageDialog(MyApp.this, message, "Error!", JOptionPane.ERROR_MESSAGE);
Run Code Online (Sandbox Code Playgroud)

输出是:

Please fix <HTML><BODY BGCOLOR=#FFCCCC>this</BODY></HTML>
Run Code Online (Sandbox Code Playgroud)

html java swing joptionpane

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

Java JTabbedPane允许Tab仅在true时切换到

我在用户单击选项卡时执行了一些验证.如果validation == true,则允许选项卡显示(或切换到).现在我正在使用StateChanged事件进行验证.问题是,当您单击选项卡时,它会显示选项卡内容,如果验证== false,则会切换回上一个选项卡.除非验证== true,否则我不希望它切换到.我该怎么做,我是在检查错误的事件吗?谢谢你们

java events swing jtabbedpane

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

java - 一个接一个地执行每个SwingWorker类

我有多个类扩展SwingWorker.我希望实现的是逐个执行每个类(不执行上一个类'done方法中的下一个类).例如,假设我有:

ClassSwingW1 csw1 = new ClassSwingW1();
csw1.execute;

ClassSwingW2 csw2 = new ClassSwingW2();
csw2.execute;

ClassSwingW3 csw3 = new ClassSwingW3();
csw3.execute;
Run Code Online (Sandbox Code Playgroud)

等等.

public class ClassSwingW1 extends SwingWorker<Void, Void> {

    @Override
    protected Void doInBackground() throws Exception {
        //do something

        return null;
    }

}

public class ClassSwingW2 extends SwingWorker<Void, Void> {

    @Override
    protected Void doInBackground() throws Exception {
        //do something

        return null;
    }

}

public class ClassSwingW3 extends SwingWorker<Void, Void> {

    @Override
    protected Void doInBackground() throws Exception {
        //do something

        return null;
    }

} …
Run Code Online (Sandbox Code Playgroud)

java swing multithreading swingworker

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

如何根据JButton的大小自动增加或减少JButton文本的大小?

我试图自动增加/减少JButton文本的字体大小(如果JButton增加/延伸其文本也将增加,如果JButton减少其文本也将减少).JButtons的默认字体是Sans-Serif大小为20,它永远不会减少到20以下(它可以是21,30,40或任何高于或等于20但不低于20的任何东西).我有一个名为MenuJPanel的JPanel,它使用GridLayout添加5个JButton,随着JPanel的增加/减少,这将增加/减少.我选择了GridLayout,因为它似乎是为此目的的最佳布局,我错了吗?我还在MenuJPanel中添加了一个componentResized.下面你可以看到我的代码部分工作.

在此输入图像描述

public class MenuJPanel extends JPanel {

    private JButton resizeBtn1;
    private JButton resizeBtn2;
    private JButton resizeBtn3;
    private JButton resizeBtn4;
    private JButton resizeBtn5;

    public MenuJPanel() {
        initComponents();
      this.addComponentListener(new ComponentAdapter() {
            @Override
            public void componentResized(ComponentEvent e) {

                Font btnFont = resizeBtn1.getFont();
                String btnText = resizeBtn1.getText();

                int stringWidth = resizeBtn1.getFontMetrics(btnFont).stringWidth(btnText);
                int componentWidth = resizeBtn1.getWidth();

                // Find out how much the font can grow in width.
                double widthRatio = (double) componentWidth / (double) stringWidth;

                int newFontSize = (int) (btnFont.getSize() * widthRatio);
                int componentHeight = …
Run Code Online (Sandbox Code Playgroud)

java swing jpanel jbutton grid-layout

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

Java - 从另一个类更新对象

如何在不使用返回值的情况下从 B 类中的方法更新 A 类中的对象?

例如:

public class A {
//my main class

private javax.swing.JTextField txtField1;
//a text field (txtField1) is initialized in this class and drawn

}


public class B {

public void doSomething(){

    //does something and updates the txtField1 in class A

}

}
Run Code Online (Sandbox Code Playgroud)

再一次,我不想使用return,因为我的 return 已经从同一个方法返回另一个值。

java swing

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

Java - 从 JFileChooser 中删除组件(文件类型)

如何从 JFileChooser 中删除组件(文件类型);标签及其组合框?

我有以下代码:

JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
fileChooser.setDialogTitle("Select Folder");
fileChooser.setApproveButtonText("Select Folder");
fileChooser.setAcceptAllFileFilterUsed(false);

hideComponents(fileChooser.getComponents());

private void hideComponents(Component[] components) {

for (int i= 0; i < components.length; i++) {
  if (components[i] instanceof JPanel)
    hideComponents(((JPanel)components[i]).getComponents());
  else if (//component to remove)//what do I check for in here?
    components[i].setVisible(false);
}
Run Code Online (Sandbox Code Playgroud)

java swing jfilechooser jcomponent

4
推荐指数
1
解决办法
5778
查看次数

Java - 调用屏幕键盘

我正在处理的应用程序将在Windows 7上运行.它将用于通过触摸屏输入一些信息.每当提示用户提供信息时,我都需要弹出一个屏幕键盘.我的问题是,我应该从头开始创建键盘类,还是应该使用Windows 7内置的屏幕键盘?如何在Java应用程序中调用它?谢谢

java keyboard on-screen-keyboard

4
推荐指数
1
解决办法
4904
查看次数

java从JFrame传递对象到JPanel

我正在使用NetBeans在Java中开发一个独立的应用程序,它通过串行端口获取和发送数据.我正在使用一个很棒的串行通信API,称为java简单串行连接器http://code.google.com/p/java-simple-serial-connector/

请下载我创建的以下NetBeans项目:http: //netload.in/dateiN9xmwRtn19.htm 即使您没有netbeans,您仍然可以查看代码.

以上是我用来解释我希望完成的一个小例子项目.该示例包含一个包含main方法的JFrame.此JFrame包含2个面板:带导航按钮的面板和使用CardLayout显示面板1和面板2的面板.

在此输入图像描述

在此输入图像描述

在JFrame中,我有一个方法,使用jssc API的getPortNames()方法获取端口名称列表.我的问题是,如何将这些端口名称字符串值从JFrame传递到我的Panel 1,而不使用以下内容,因为它不起作用:MyJFrame myjframe = new MyJFrame(); myjframe.getPortNames();

气垫船满鳗鱼 再次非常感谢你的解释,值得金.我现在意识到我的问题是NetBeans而不是Java.我对它不熟悉,但由于项目的规模和复杂性,我仍然更愿意使用它.我在下面上传了2个截图,显示了我如何尝试将JFrame对象的"this"引用传递给NetBeans中的JPanel对象.正如您在MyJFrame.java屏幕截图中看到的那样,NetBeans将"this"引用标记为错误.你能帮我解决这个问题吗?此外,在您的解释的第一句中,您提到串行端口方法应该在单独的类中,而不是在JFrame中,因为它们是非GUI方法.我完全同意你的意见,我更愿意这样做,因为它是正确的面向对象的方法.但是这样做,我再次面临NetBeans中的同样问题.我现在如何将对象引用从SerialPorts.java类传递给JFrame,JPanel等,以便我不会一直创建新的SerialPorts对象,请记住我需要连接始终保持打开状态(例如没有使用SerialPorts sp = new SerialPorts();).非常感谢你的帮助.

在Panel 1的代码定制器中添加"this" 在Panel 1的代码定制器中添加

MyJFrame.java - 编辑器将"this"引用为错误 MyJFrame.java  - 编辑器将

java swing constructor netbeans pass-by-reference

4
推荐指数
1
解决办法
4288
查看次数

如何将 JButton 放入 JComboBox

我想在 JComboBox 中放置一个 JButton。此按钮允许用户浏览文件。用户选择的文件被添加到 JComboBox 列表中。我该怎么做呢?我使用某种渲染器吗?谢谢你。

编辑: 在阅读有关 ListCellRenderer 的更多信息后,我尝试了以下代码:

JComboBox comboBox = new JComboBox(new String[]{"", "Item1", "Item2"});
ComboBoxRenderer renderer = new ComboBoxRenderer();
comboBox.setRenderer(renderer);

class ComboBoxRenderer implements ListCellRenderer {

    public Component getListCellRendererComponent(
            JList list,
            Object value,
            int index,
            boolean isSelected,
            boolean cellHasFocus) {

        JButton jbutton = new JButton("Browse");

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

上面的问题是按钮“浏览”将被添加 3 次,我希望它只显示一次并在它下方显示 Item1 和 Item2 作为普通/常规组合框选择对象。

java swing render jbutton jcombobox

4
推荐指数
1
解决办法
6134
查看次数