Java 向JDialog添加组件
运行此操作时,将显示一个空标题栏。我只是希望能够看到的组成部分和工作从那里,但没有显示。该对话框设计为允许用户通过移动滑块选择颜色,然后返回到主页面的颜色Java 向JDialog添加组件,java,swing,colors,jdialog,Java,Swing,Colors,Jdialog,运行此操作时,将显示一个空标题栏。我只是希望能够看到的组成部分和工作从那里,但没有显示。该对话框设计为允许用户通过移动滑块选择颜色,然后返回到主页面的颜色 import java.awt.*; import javax.swing.*; public class ColourDialog extends JDialog { String colorNames[] = {"Red: ", "Green: ", "Blue: "}; Label labels[] = new Lab
import java.awt.*;
import javax.swing.*;
public class ColourDialog extends JDialog
{
String colorNames[] = {"Red: ", "Green: ", "Blue: "};
Label labels[] = new Label[3];
JSlider slider[]= new JSlider[3];
Label lb;
static ColourDialog d;
public void ColourDialog()
{
setModal(true);
Container c = getContentPane();
c.setLayout(new BorderLayout());
JPanel sliderPanel = new JPanel();
sliderPanel.setLayout(new GridLayout(0, 1));
for (int i = 0; i < slider.length; i++)
{
labels[i] = new Label(colorNames[i] + 255);
sliderPanel.add(labels[i]);
slider[i] = new JSlider(SwingConstants.HORIZONTAL, 0, 255, 255);
slider[i].setMinorTickSpacing(10);
slider[i].setMajorTickSpacing(50);
slider[i].setPaintTicks(true);
slider[i].setPaintLabels(true);
sliderPanel.add(slider[i]);
//slider[i].addChangeListener(this);
}
lb = new Label("Colour");
c.add(sliderPanel, BorderLayout.CENTER);
c.add(lb, BorderLayout.SOUTH);
setSize(500, 450);
setLocation(200,200);
setTitle("Colour Dialog");
}
public static Color showDialog()
{
if (d == null)
d = new ColourDialog();
d.show();
//return new Color(red,green,blue);
return new Color(0,0,0);
}
public static void main(String args[])
{
ColourDialog.showDialog();
}
}
import java.awt.*;
导入javax.swing.*;
公共类ColorDialog扩展JDialog
{
字符串colorNames[]={“红色:”、“绿色:”、“蓝色:”};
标签标签[]=新标签[3];
JSlider滑块[]=新JSlider[3];
标签lb;
静态着色;
公共对话框()
{
setModal(真);
容器c=getContentPane();
c、 setLayout(新的BorderLayout());
JPanel sliderPanel=新的JPanel();
sliderPanel.setLayout(新的GridLayout(0,1));
对于(int i=0;i
我想你已经看过了,这个JComponent
可以返回选中的颜色
在那里,我无法找到正确的定义和初始化
编辑
从扩展JDialog end with public static Color showDialog()开始,会返回带有colorDialog()初始化的空容器打字错误
import java.awt.*;
导入javax.swing.*;
公共类颜色对话框{
私有JDialog dialog=newjdialog();
私有字符串colorNames[]={“红色:”、“绿色:”、“蓝色:”};
自有标签[]=新标签[3];
私有JSlider滑块[]=新JSlider[3];
自有品牌lb;
公共对话(){
JPanel sliderPanel=新的JPanel();
sliderPanel.setLayout(新的GridLayout(0,1));
对于(int i=0;i
我想可能是因为您说“public void colorDialog()”这是一个无效的构造函数。尝试删除“void”并重试。您永远不会调用ColorDialog()方法。这是一个提到“用小写字母开始方法”的好地方。要修复代码:
更改:
d = new ColourDialog();
致:
d.show()
做什么?colorDialog扩展了JDialog,因此d.show()使对话框可见,对吗?JDialog API中的注释说.show()
不推荐使用,您应该使用可设置可见(true)
谢谢。但我不认为这是问题的根源,因为我仍然看到一个空对话框,所以它是可见的。谢谢你的提示。请问你是否在代码中看到导致这一结果的任何东西?我真的很想看到这项工作……再次感谢。@Joe没有人知道这段代码剪掉了错过的开始和结束,也许你是JComponets,可能只有打字错误,电池不包括在内,对于reall帮助,你必须编辑你的问题,这是我所要做的一切,我的代码工作。当你热爱编程的时刻。
d = new ColourDialog();
d = new ColourDialog();
d.ColourDialog();