我正在尝试使用Oracle的一个GUI示例SpringUtilities
.但Eclipse给了我错误Cannot resolve to type
,当我尝试编译时,我得到了SpringUtilities cannot be resolved
.我正在使用1.7 JDK,我猜我必须在某个地方添加一些内容,但我无法在互联网上找到有关此问题的更多信息.
我正在尝试用Java创建一个SpringLayout,这是我的代码(从Oracle Java文档中获取)
import javax.swing.*;
import java.awt.*;
public class SpringForm {
private static void createAndShowGUI() {
String[] labels = {"Side1: ", "Side2: ", "Side3: "};
int numPairs = labels.length;
//Create and populate the panel.
JPanel p = new JPanel(new SpringLayout());
javax.swing.JButton calculate_btn;
calculate_btn = new javax.swing.JButton();
for (int i = 0; i < numPairs; i++) {
JLabel l = new JLabel(labels[i], JLabel.TRAILING);
p.add(l);
JTextField textField = new JTextField(10);
l.setLabelFor(textField);
p.add(textField);
}
calculate_btn.setText("Calculate");
p.add(calculate_btn);
//Lay out the panel.
SpringUtilities.makeCompactGrid(p,
numPairs, 2, //rows, …
Run Code Online (Sandbox Code Playgroud) 我知道它SpringLayout
是由GUI构建器使用的,但是当开发人员想要创建类似于表单的布局时,这种布局很有用.而SpringUtilities
公用事业类使得与布局管理器手动编码多容易.
那么,为什么不是核心Java库的这一部分呢?只是好奇...
如何在 networkx 中绘制不重叠的边缘标签?使用该选项scale
看起来更好,但边缘标签仍然重叠,例如,
相关源码如下:
# build a graph
G.add_edge(u, v, r=value)
# plot the graph
pos = nx.spring_layout(G, scale=3)
nx.draw(G, pos)
edge_labels = nx.get_edge_attributes(G,'r')
nx.draw_networkx_edge_labels(G, pos, edge_labels = edge_labels)
plt.savefig(filename)
Run Code Online (Sandbox Code Playgroud) 我有一个 gui,它有一个面板,其中包含一系列标签和文本字段,并使用弹簧布局(这是 mainPanel),另一个面板仅包含一个按钮(buttonPanel)。我试图让我的 mainPanel 也有一个垂直滚动条。我想实现我的 GUI,以便在 JFrame 中我有 2 个面板。mainPanel 出现在框架的顶部,buttonPanel 出现在mainPanel 的下方。
我的问题是我无法使面板出现,使按钮面板位于主面板下方,而且我也不知道如何向主面板添加滚动条。任何帮助,将不胜感激。
编辑:我能够解决有关 JPanel 的问题,现在我唯一的问题是我无法让我的 mainPanel 滚动。我在下面添加了最新的代码:
这是我到目前为止的代码:
public static void main(String args[]) {
JFrame frame = new JFrame("SpringLayout");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JScrollPane scroll = new JScrollPane();
Container contentPane = frame.getContentPane();
JButton next = new JButton("Next");
JPanel buttonPanel = new JPanel();
buttonPanel.add(next);
SpringLayout layout = new SpringLayout();
JPanel mainPanel = new JPanel();
mainPanel.setLayout(layout);
contentPane.setLayout(new BorderLayout());
int j = 25;
for(int i =0;i<150;i++){
JLabel label = new JLabel("Enter Name " …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Swing在Java中创建一个Form,我在管理布局时遇到了困难.
我希望在对话框的中心有一些带有标签的文本字段,并在右下角有"保存"和"关闭"按钮.
将对话框添加到对话框的右下方很简单,但我不确定如何居中对齐文本字段.我想,如果没有中心组件方法,那么我可以通过计算对话框窗口的中心来对齐字段,然后在重新调整对话框大小时更新位置.但我是新手,我不知道如何做(或者如果这是一个好主意).
如何使用Spring Layout Manager将组件对齐?
public class Main {
public static void main(String args[]) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
MyFrame myFrame = new MyFrame();
myFrame.setVisible(true);
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
这是帧的外观:
public class MyFrame extends JFrame {
JLabel label1;
JTextField field1;
JLabel label2;
JTextField field2;
JButton saveButton;
JButton closeButton;
public MyFrame() {
initLookAndFeel();
initFrameProperties();
initContent();
initLayout();
}
private initContent() {
label1= new JLabel("Label 1");
field1= new JTextField();
label1.setLabelFor(field1);
label2= new JLabel("Label 2");
field2= new JTextField();
label2.setLabelFor(field2); …
Run Code Online (Sandbox Code Playgroud) 我试图获取我在JFrame表单中提交的输入并将其存储在arraylist中.当我的ActionEvent发生时,我不确定如何获取我在文本字段中输入的内容.谁能告诉我怎么做?
我的表格目前看起来像
这是我的代码:
public class SpringDemo {
private static void createAndShowGUI() {
final String[] labels = {"Bill: ", "Last Top Up Date: ", "Same Network? "};
int labelsLength = labels.length;
//Create and populate the panel.
JPanel p = new JPanel(new SpringLayout());
for (int i = 0; i < labelsLength; i++) {
JLabel l = new JLabel(labels[i], JLabel.TRAILING);
p.add(l);
JTextField textField = new JTextField(10);
l.setLabelFor(textField);
p.add(textField);
}
JButton button = new JButton("Submit");
p.add(new JLabel());
p.add(button);
//Lay out the panel.
SpringUtilities.makeCompactGrid(p,
labelsLength …
Run Code Online (Sandbox Code Playgroud) springlayout ×7
java ×6
swing ×4
api ×1
jframe ×1
jpanel ×1
jscrollpane ×1
jtextfield ×1
layout ×1
matplotlib ×1
networkx ×1
python ×1