小编use*_*493的帖子

如何将组件动态添加到 Java JScrollPane

我正在尝试用 Java 制作 GUI 应用程序,但在 JScrollPane 中动态添加/更新组件时遇到问题。我有两个 JPanel(P1 和 P2),其中 P1 有一个表单来设置应用程序参数,P2 包含一些 GUI 组件,这些组件根据 P1 中的值动态更新。我需要在 P2 上使用 JScrollPane 来滚动,所以我在 P2 中添加了 JScrollPane。我将 P1 和 P2 添加到主面板“main”中,然后将主面板添加到框架中。但是组件在 P2 中没有更新。有人可以建议有什么问题吗?我已经调用了 revalidate()、repaint() 和其他一些方法,但是 GUI 没有更新。下面是我编写的示例代码,只是为了说明我的问题。我的应用程序中需要 GroupLayout 所以这里我也使用了 GroupLayout

        import java.awt.event.ActionEvent;
        import javax.swing.GroupLayout;
        import javax.swing.JButton;
        import javax.swing.JFrame;
        import javax.swing.JPanel;
        import javax.swing.JScrollPane;


        public class JframeExample extends JFrame {

            private final JPanel P1;
            private final JPanel P2;
            private final JPanel main;
            private final JScrollPane scrol;
            private final JButton jButton;
            private final JButton jButton2;

            public …
Run Code Online (Sandbox Code Playgroud)

java user-interface swing

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

有没有更快的方法来使用Java查找不同的元素

我编写了代码来查找大量字符串中的distinct元素.代码如下

HashMap<String, Integer> countMap = new HashMap<>();
String[] str={"aa","bb","cc","bb","aa","cc","aa","bb","cc","bb"};
for (String e : str) {
  if (!countMap.containsKey(e)) {
    countMap.put(e, 1);
  } 
}
Iterator it=countMap.keySet().iterator();
String[] db= new String[countMap.size()];
for(int i=0;i<countMap.size();i++){
  db[i]=(String)it.next();
  System.out.println(db[i]);
}
Run Code Online (Sandbox Code Playgroud)

有没有比这更快的代码,因为我必须处理非常大的数组.

java

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

标签 统计

java ×2

swing ×1

user-interface ×1