小编JLA*_*JLA的帖子

如何重新加载JPanel?

我是一个Java新手...我需要怎么知道到reload一个JPanel?我扩展了JPanel类并创建了一个将cardlayout在Applet中运行的面板.reload/refresh在用户单击button此面板中的a后,我想要此面板.我尝试在按钮中包含revalidate()和repaint()方法(我不太了解的方法)ActionListener但没有发生任何事情.任何人都可以了解如何正确刷新整个面板?

java swing jpanel cardlayout

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

保留对象和对函数内创建的对象的引用

我是 C++ 新手,所以仍在学习指针并习惯使用它们。

我声明了一个对象映射,以便存储用户稍后可以使用标签键访问的对象。

map<string,MyObject*> myMap;
Run Code Online (Sandbox Code Playgroud)

我添加到 myMap 的对象是在我的 main 调用的函数中创建的

void myFunction(){
    ...
    MyObject obj1();
    MyObject* objPtr;
    objPtr = &obj1;
    myMap.insert(pair<string,MyObject*>("xxxx", objPtr));
    ...
    } 
Run Code Online (Sandbox Code Playgroud)

当我执行这个函数时,对象指针完美地插入到 myMap 中,但是在函数执行之后,我丢失了对 obj1 的引用,我猜是因为指针和对象是在函数内部本地创建的,所以我仍然有一个元素“xxx”地图,但我认为后面是一个空参考。

如何全局保存对象和引用?我想在函数中创建这个对象,因为它有一些需要从用户 obj1(m,n) 获取的变量参数。谢谢你的帮助。

c++

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

如何验证字符串中只有数字?

我是C++的新手.我正在开发一个项目,我需要通过控制台从用户那里读取大部分整数.为了避免某人输入非数字字符,我考虑将输入作为字符串读取,检查其中只有数字,然后将其转换为整数.我创建了一个函数,因为我需要多次检查整数:

bool isanInt(int *y){
    string z;
    int x;
    getline(cin,z);
    for (int n=0; n < z.length(); n++) {
        if(!((z[n] >= '0' && z[n] <= '9') || z[n] == ' ') ){
            cout << "That is not a valid input!" << endl;
            return false;
        }
    }
    istringstream convert(z); //converting the string to integer
    convert >> x;
    *y = x;
    return true;
}
Run Code Online (Sandbox Code Playgroud)

当我需要用户输入一个整数时,我会调用这个函数.但由于某种原因,当我调用此函数时,程序不会等待输入,它会立即跳转到for循环处理空字符串.有什么想法吗?谢谢你的帮助.

c++

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

通过循环添加 JPanel

让它工作!谢谢你们!
代码如下。我曾经使用过,BoxLayout因为我认为将一个问题堆叠在一起是理想的,但现在我遇到了布局问题......当我堆叠几个问题时,问题面板开始重叠。有什么想法吗?

我想要的...

            panels1 = new MultipleChoice[5];
    setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS));
    for(int i=0; i<4; i++){
        panels1[i]= new MultipleChoice();
        panels1[i].setAlignmentX(CENTER_ALIGNMENT);
        add(panels1[i]);


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

我正在设计一个在线测试小程序。
测试有多项选择和真/假问题。为了设置测试,我创建了两个JPanel类,一个用于选择题,另一个用于真/假问题。因此,当创建测试时,我将JPanel根据非固定数量的问题将这些面板动态添加到容器中。

首先,如何将新面板动态添加到面板?我想过声明一个JPanel类型的数组。我创建然后使用for循环添加此面板类的对象:

MultitipleChoicePanel[] PanelArray;

for (...){
   PanelArray[i] =  new MultipleChoicePanel();
   containerpanel.add(PanelArray[i]);
   }
Run Code Online (Sandbox Code Playgroud)

我不知道这在技术上是否可行。
这是我第一次使用 Swing,我尝试过这样做,但显然没有用。
有谁知道如何正确地动态添加这些面板?

其次,哪个布局管理器最适合容器面板,以适应在前一个面板下添加的每个新面板?
我考虑过动态设置GridLayout一列,并在添加面板时添加行。但我一直在努力动态修改摆动。
有什么建议?

非常感谢你的帮助!

java swing loops jpanel grid-layout

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

标签 统计

c++ ×2

java ×2

jpanel ×2

swing ×2

cardlayout ×1

grid-layout ×1

loops ×1