- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
//Address.java 的开头
import java.lang.String;
import java.lang.StringBuffer;
public class Address
{
String firstname,lastname,street,city,state,zip;
public void Address()
{
firstname = new String();
lastname = new String();
street = new String();
city = new String();
state = new String();
zip = new String();
}
public void setFirstname(String v)
{
firstname = v;
}
public String getFirstname()
{
return firstname;
}
public void setLastname(String v)
{
lastname = v;
}
public String getLastname()
{
return lastname;
}
public void setStreet(String v)
{
street = v;
}
public String getStreet()
{
return street;
}
public void setState(String v)
{
state = v;
}
public String getState()
{
return state;
}
public void setCity(String v)
{
city = v;
}
public String getCity()
{
return city;
}
public void setZip(String v)
{
zip = v;
}
public String getZip()
{
return zip;
}
public String toString()
{
String empty = "";
if ((firstname == null) || empty.equals(firstname)) {
street = "<em>(no firstname specified)</em>";
}
if ((lastname == null) || empty.equals(lastname)) {
street = "<em>(no lastname specified)</em>";
}
if ((street == null) || empty.equals(street)) {
street = "<em>(no street specified)</em>";
}
if ((city == null) || empty.equals(city)) {
city = "<em>(no city specified)</em>";
}
if ((state == null) || empty.equals(state)) {
state = "<em>(no state specified)</em>";
} else {
int abbrevIndex = state.indexOf('(') + 1;
state = state.substring(abbrevIndex,
abbrevIndex + 2);
}
if ((zip == null) || empty.equals(zip)) {
zip = "";
}
StringBuffer sb = new StringBuffer();
sb.append("<html><p align=center>");
sb.append(firstname);
sb.append(" ");
sb.append(lastname);
sb.append("<br>");
sb.append(street);
sb.append("<br>");
sb.append(city);
sb.append(" ");
sb.append(state); //should format
sb.append(" ");
sb.append(zip);
sb.append("</p></html>");
return sb.toString();
}
}
// End of Address.java
//Start of AddressBook.java
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.text.*;
import java.util.ArrayList;
/**
* AddressBook.java uses these additional files:
* SpringUtilities.java
* ...
*/
public class AddressBook extends JPanel
implements ActionListener,
FocusListener {
Address address;
// make the List in java.util to distinguish it from the List definition in java.swing
java.util.List<Address> addresslist = new ArrayList<>(); //The text field controls in the user interface
JTextField firstnameField,lastnameField,streetField, cityField;
JFormattedTextField zipField;
// a spinner control that holds the state names
JSpinner stateSpinner;
boolean addressSet = false;
Font regularFont, italicFont;
JLabel addressDisplay;
final static int GAP = 10;
public AddressBook() {
setLayout(new BoxLayout(this, BoxLayout.LINE_AXIS));
JPanel leftHalf = new JPanel() {
//Don't allow us to stretch vertically.
public Dimension getMaximumSize() {
Dimension pref = getPreferredSize();
return new Dimension(Integer.MAX_VALUE,
pref.height);
}
};
leftHalf.setLayout(new BoxLayout(leftHalf,
BoxLayout.PAGE_AXIS));
leftHalf.add(createEntryFields());
leftHalf.add(createButtons());
add(leftHalf);
add(createAddressDisplay());
}
protected JComponent createButtons() {
JPanel panel = new JPanel(new FlowLayout(FlowLayout.TRAILING));
JButton button = new JButton("Save name and address");
button.addActionListener(this);
panel.add(button);
button = new JButton("Clear address");
button.addActionListener(this);
button.setActionCommand("clear");
panel.add(button);
//Match the SpringLayout's gap, subtracting 5 to make
//up for the default gap FlowLayout provides.
panel.setBorder(BorderFactory.createEmptyBorder(0, 0,
GAP-5, GAP-5));
return panel;
}
/**
* Called when the user clicks the button or presses
* Enter in a text field.
*/
public void actionPerformed(ActionEvent e) {
if ("clear".equals(e.getActionCommand())) {
addressSet = false;
firstnameField.setText("");
lastnameField.setText("");
streetField.setText("");
cityField.setText("");
//We can't just setText on the formatted text
//field, since its value will remain set.
zipField.setValue(null);
} else {
addressSet = true;
}
addAddress();
updateDisplays();
}
protected void updateDisplays() {
addressDisplay.setText(formatAddress());
if (addressSet) {
addressDisplay.setFont(regularFont);
} else {
addressDisplay.setFont(italicFont);
}
}
protected JComponent createAddressDisplay() {
JPanel panel = new JPanel(new BorderLayout());
addressDisplay = new JLabel();
addressDisplay.setHorizontalAlignment(JLabel.CENTER);
regularFont = addressDisplay.getFont().deriveFont(Font.PLAIN,
16.0f);
italicFont = regularFont.deriveFont(Font.ITALIC);
updateDisplays();
//Lay out the panel.
panel.setBorder(BorderFactory.createEmptyBorder(
GAP/2, //top
0, //left
GAP/2, //bottom
0)); //right
panel.add(new JSeparator(JSeparator.VERTICAL),
BorderLayout.LINE_START);
panel.add(addressDisplay,
BorderLayout.CENTER);
panel.setPreferredSize(new Dimension(200, 150));
return panel;
}
protected void addAddress()
{
Addresslist.add(Address.getFirstname());
Addresslist.add();
Address.getLastname();
Address.getStreet();
Address.getCity();
Address.getZip();
}
protected String formatAddress() {
if (!addressSet) return "No address set.";
return address.toString();
}
//A convenience method for creating a MaskFormatter.
protected MaskFormatter createFormatter(String s) {
MaskFormatter formatter = null;
try {
formatter = new MaskFormatter(s);
} catch (java.text.ParseException exc) {
System.err.println("formatter is bad: " + exc.getMessage());
System.exit(-1);
}
return formatter;
}
/**
* Called when one of the fields gets the focus so that
* we can select the focused field.
*/
public void focusGained(FocusEvent e) {
Component c = e.getComponent();
if (c instanceof JFormattedTextField) {
selectItLater(c);
} else if (c instanceof JTextField) {
((JTextField)c).selectAll();
}
}
//Workaround for formatted text field focus side effects.
protected void selectItLater(Component c) {
if (c instanceof JFormattedTextField) {
final JFormattedTextField ftf = (JFormattedTextField)c;
SwingUtilities.invokeLater(new Runnable() {
public void run() {
ftf.selectAll();
}
});
}
}
//Needed for FocusListener interface.
public void focusLost(FocusEvent e) { } //ignore
protected JComponent createEntryFields() {
JPanel panel = new JPanel(new SpringLayout());
String[] labelStrings = {
"First","Last",
"Street address: ",
"City: ",
"State: ",
"Zip code: "
};
JLabel[] labels = new JLabel[labelStrings.length];
JComponent[] fields = new JComponent[labelStrings.length];
int fieldNum = 0;
//Create the text field and set it up.
firstnameField = new JTextField();
firstnameField.setColumns(20);
fields[fieldNum++] = firstnameField;
lastnameField = new JTextField();
lastnameField.setColumns(20);
fields[fieldNum++] = lastnameField;
streetField = new JTextField();
streetField.setColumns(20);
fields[fieldNum++] = streetField;
cityField = new JTextField();
cityField.setColumns(20);
fields[fieldNum++] = cityField;
String[] stateStrings = getStateStrings();
stateSpinner = new JSpinner(new SpinnerListModel(stateStrings));
fields[fieldNum++] = stateSpinner;
zipField = new JFormattedTextField(
createFormatter("#####"));
fields[fieldNum++] = zipField;
//Associate label/field pairs, add everything,
//and lay it out.
for (int i = 0; i < labelStrings.length; i++) {
labels[i] = new JLabel(labelStrings[i],
JLabel.TRAILING);
labels[i].setLabelFor(fields[i]);
panel.add(labels[i]);
panel.add(fields[i]);
//Add listeners to each field.
JTextField tf = null;
if (fields[i] instanceof JSpinner) {
tf = getTextField((JSpinner)fields[i]);
} else {
tf = (JTextField)fields[i];
}
tf.addActionListener(this);
tf.addFocusListener(this);
}
SpringUtilities.makeCompactGrid(panel,
labelStrings.length, 2,
GAP, GAP, //init x,y
GAP, GAP/2);//xpad, ypad
return panel;
}
public String[] getStateStrings() {
String[] stateStrings = {
"Alabama (AL)",
"Alaska (AK)",
"Arizona (AZ)",
"Arkansas (AR)",
"California (CA)",
"Colorado (CO)",
"Connecticut (CT)",
"Delaware (DE)",
"District of Columbia (DC)",
"Florida (FL)",
"Georgia (GA)",
"Hawaii (HI)",
"Idaho (ID)",
"Illinois (IL)",
"Indiana (IN)",
"Iowa (IA)",
"Kansas (KS)",
"Kentucky (KY)",
"Louisiana (LA)",
"Maine (ME)",
"Maryland (MD)",
"Massachusetts (MA)",
"Michigan (MI)",
"Minnesota (MN)",
"Mississippi (MS)",
"Missouri (MO)",
"Montana (MT)",
"Nebraska (NE)",
"Nevada (NV)",
"New Hampshire (NH)",
"New Jersey (NJ)",
"New Mexico (NM)",
"New York (NY)",
"North Carolina (NC)",
"North Dakota (ND)",
"Ohio (OH)",
"Oklahoma (OK)",
"Oregon (OR)",
"Pennsylvania (PA)",
"Rhode Island (RI)",
"South Carolina (SC)",
"South Dakota (SD)",
"Tennessee (TN)",
"Texas (TX)",
"Utah (UT)",
"Vermont (VT)",
"Virginia (VA)",
"Washington (WA)",
"West Virginia (WV)",
"Wisconsin (WI)",
"Wyoming (WY)"
};
return stateStrings;
}
public JFormattedTextField getTextField(JSpinner spinner) {
JComponent editor = spinner.getEditor();
if (editor instanceof JSpinner.DefaultEditor) {
return ((JSpinner.DefaultEditor)editor).getTextField();
} else {
System.err.println("Unexpected editor type: "
+ spinner.getEditor().getClass()
+ " isn't a descendant of DefaultEditor");
return null;
}
}
/**
* Create the GUI and show it. For thread safety,
* this method should be invoked from the
* event dispatch thread.
*/
private static void createAndShowGUI() {
//Create and set up the window.
JFrame frame = new JFrame("Address Book");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Add contents to the window.
frame.add(new AddressBook());
//Display the window.
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
//Schedule a job for the event dispatch thread:
//creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
//Turn off metal's use of bold fonts
UIManager.put("swing.boldMetal", Boolean.FALSE);
createAndShowGUI();
System.out.println(addresslist);
}
});
}
}
// End of AddressBook.java
//Start of SpringUtilities.java
import javax.swing.*;
import javax.swing.SpringLayout;
import java.awt.*;
/**
* A 1.4 file that provides utility methods for
* creating form- or grid-style layouts with SpringLayout.
* These utilities are used by several programs, such as
* SpringBox and SpringCompactGrid.
*/
public class SpringUtilities {
/**
* A debugging utility that prints to stdout the component's
* minimum, preferred, and maximum sizes.
*/
public static void printSizes(Component c) {
System.out.println("minimumSize = " + c.getMinimumSize());
System.out.println("preferredSize = " + c.getPreferredSize());
System.out.println("maximumSize = " + c.getMaximumSize());
}
/**
* Aligns the first <code>rows</code> * <code>cols</code>
* components of <code>parent</code> in
* a grid. Each component is as big as the maximum
* preferred width and height of the components.
* The parent is made just big enough to fit them all.
*
* @param rows number of rows
* @param cols number of columns
* @param initialX x location to start the grid at
* @param initialY y location to start the grid at
* @param xPad x padding between cells
* @param yPad y padding between cells
*/
public static void makeGrid(Container parent,
int rows, int cols,
int initialX, int initialY,
int xPad, int yPad) {
SpringLayout layout;
try {
layout = (SpringLayout)parent.getLayout();
} catch (ClassCastException exc) {
System.err.println("The first argument to makeGrid must use SpringLayout.");
return;
}
Spring xPadSpring = Spring.constant(xPad);
Spring yPadSpring = Spring.constant(yPad);
Spring initialXSpring = Spring.constant(initialX);
Spring initialYSpring = Spring.constant(initialY);
int max = rows * cols;
//Calculate Springs that are the max of the width/height so that all
//cells have the same size.
Spring maxWidthSpring = layout.getConstraints(parent.getComponent(0)).
getWidth();
Spring maxHeightSpring = layout.getConstraints(parent.getComponent(0)).
getWidth();
for (int i = 1; i < max; i++) {
SpringLayout.Constraints cons = layout.getConstraints(
parent.getComponent(i));
maxWidthSpring = Spring.max(maxWidthSpring, cons.getWidth());
maxHeightSpring = Spring.max(maxHeightSpring, cons.getHeight());
}
//Apply the new width/height Spring. This forces all the
//components to have the same size.
for (int i = 0; i < max; i++) {
SpringLayout.Constraints cons = layout.getConstraints(
parent.getComponent(i));
cons.setWidth(maxWidthSpring);
cons.setHeight(maxHeightSpring);
}
//Then adjust the x/y constraints of all the cells so that they
//are aligned in a grid.
SpringLayout.Constraints lastCons = null;
SpringLayout.Constraints lastRowCons = null;
for (int i = 0; i < max; i++) {
SpringLayout.Constraints cons = layout.getConstraints(
parent.getComponent(i));
if (i % cols == 0) { //start of new row
lastRowCons = lastCons;
cons.setX(initialXSpring);
} else { //x position depends on previous component
cons.setX(Spring.sum(lastCons.getConstraint(SpringLayout.EAST),
xPadSpring));
}
if (i / cols == 0) { //first row
cons.setY(initialYSpring);
} else { //y position depends on previous row
cons.setY(Spring.sum(lastRowCons.getConstraint(SpringLayout.SOUTH),
yPadSpring));
}
lastCons = cons;
}
//Set the parent's size.
SpringLayout.Constraints pCons = layout.getConstraints(parent);
pCons.setConstraint(SpringLayout.SOUTH,
Spring.sum(
Spring.constant(yPad),
lastCons.getConstraint(SpringLayout.SOUTH)));
pCons.setConstraint(SpringLayout.EAST,
Spring.sum(
Spring.constant(xPad),
lastCons.getConstraint(SpringLayout.EAST)));
}
/* Used by makeCompactGrid. */
private static SpringLayout.Constraints getConstraintsForCell(
int row, int col,
Container parent,
int cols) {
SpringLayout layout = (SpringLayout) parent.getLayout();
Component c = parent.getComponent(row * cols + col);
return layout.getConstraints(c);
}
/**
* Aligns the first <code>rows</code> * <code>cols</code>
* components of <code>parent</code> in
* a grid. Each component in a column is as wide as the maximum
* preferred width of the components in that column;
* height is similarly determined for each row.
* The parent is made just big enough to fit them all.
*
* @param rows number of rows
* @param cols number of columns
* @param initialX x location to start the grid at
* @param initialY y location to start the grid at
* @param xPad x padding between cells
* @param yPad y padding between cells
*/
public static void makeCompactGrid(Container parent,
int rows, int cols,
int initialX, int initialY,
int xPad, int yPad) {
SpringLayout layout;
try {
layout = (SpringLayout)parent.getLayout();
} catch (ClassCastException exc) {
System.err.println("The first argument to makeCompactGrid must use SpringLayout.");
return;
}
//Align all cells in each column and make them the same width.
Spring x = Spring.constant(initialX);
for (int c = 0; c < cols; c++) {
Spring width = Spring.constant(0);
for (int r = 0; r < rows; r++) {
width = Spring.max(width,
getConstraintsForCell(r, c, parent, cols).
getWidth());
}
for (int r = 0; r < rows; r++) {
SpringLayout.Constraints constraints =
getConstraintsForCell(r, c, parent, cols);
constraints.setX(x);
constraints.setWidth(width);
}
x = Spring.sum(x, Spring.sum(width, Spring.constant(xPad)));
}
//Align all cells in each row and make them the same height.
Spring y = Spring.constant(initialY);
for (int r = 0; r < rows; r++) {
Spring height = Spring.constant(0);
for (int c = 0; c < cols; c++) {
height = Spring.max(height,
getConstraintsForCell(r, c, parent, cols).
getHeight());
}
for (int c = 0; c < cols; c++) {
SpringLayout.Constraints constraints =
getConstraintsForCell(r, c, parent, cols);
constraints.setY(y);
constraints.setHeight(height);
}
y = Spring.sum(y, Spring.sum(height, Spring.constant(yPad)));
}
//Set the parent's size.
SpringLayout.Constraints pCons = layout.getConstraints(parent);
pCons.setConstraint(SpringLayout.SOUTH, y);
pCons.setConstraint(SpringLayout.EAST, x);
}
}
//End of SpringUtilities.java
所以我对如何根据ArrayList实现AddAddress()方法感到困惑。终端给我的错误是“静态上下文无法引用非静态方法”。请提供任何帮助,我们将不胜感激。我一直在寻找该做什么,但这只会让我更加困惑。谢谢。
最佳答案
一个问题(可能不相关)是你的构造函数返回类型 void:
public void Address()
{
firstname = new String();
lastname = new String();
street = new String();
city = new String();
state = new String();
zip = new String();
}
这应该是:
public Address() {
firstname = new String();
lastname = new String();
street = new String();
city = new String();
state = new String();
zip = new String();
}
关于java - 如何将字符串分配给带有错误消息 "Non Static method reference Static Context"的数组列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17002244/
我是 F# 的菜鸟,目前正在阅读 F# 3.0 中的专家。 它是我学习的第一种编译语言(我只知道用 R 编程) 在第 6 章第 117 页,我们没有太多仪式性地介绍 静态让和静态成员。我真的不明白它是
我很迷茫。我已经花几个小时广泛地复习了我的两个类(class)。没有什么是静态的,没有什么是静态引用的,但我无法摆脱这个错误。 A 类文件 (ClassA.php) privateVariable =
关于类公共(public)类声明,请看这两段代码: public class Helper { public static void CallMeganFox(string phoneNumb
我如何使用“super”关键字从父类(super class)(类“aa”)引用“a1” class aa { protected static int a1 = 2; } public class
class Perkusja { boolean talerze = true; boolean beben = true; void zagrajNaBebnie() { Sys
我试图在编译 C++ 程序时静态链接库。 g++ (GCC) 4.8.5 20150623(红帽 4.8.5-4) $ g++ -std=c++11 -I/home/jerry/Desktop/tin
$ javac TestFilter.java TestFilter.java:19: non-static variable this cannot be referenced from a sta
这个问题在这里已经有了答案: How do I create a global, mutable singleton? (7 个答案) How can you make a safe static
“覆盖”静态数组时我遇到了一个棘手的问题。我有静态数组(为简单起见),它们在不同的派生类中具有固定长度,但在编译时仍然知道所有大小。我在基类中也有一个虚函数,但我不知道如何解决在派生类中覆盖这些数组和
我刚刚在遗留代码中发现了这一点。我知道使用宏,每当使用名称时,它都会被宏的内容替换。它们最常用于为数字常量提供符号名称。我所知道的是预处理没有类型安全、范围的概念。 这样做的真正好处是什么? #def
将 Singleton 实例声明为 static 还是声明为 static final 更好? 请看下面的例子: 静态版本 public class Singleton { private s
问题: 我观察到的行为是 TypeScript 的预期行为吗? 我观察到的行为是 ECMAScript 6 的预期行为吗? 是否有一种简单的方法可以返回继承层次结构以处理每个级别的“myStatic”
在php中,访问类的方法/变量有两种方法: 1. 创建对象$object = new Class(),然后使用”->”调用:$object->attribute/functi
我尝试向 ExpandoObject 添加一个动态方法,该方法会返回属性(动态添加)给它,但它总是给我错误。 我在这里做错了吗? using System; using System.Collecti
我试图获得一个静态链接到我的程序的音频库。我用 this灵活的包。为了让它运行,我必须按照描述构建 soloud 库 here .下载后不久,我在“build”文件夹中运行了“genie --with
这是我的webpack.prod.config.js代码 const path = require('path'); const { CleanWebpackPlugin } = require('c
我想知道什么时候应该对变量和(或)方法使用静态、最终、静态最终参数。据我了解: final:类似于c++中的const参数。它基本上意味着值(或在方法中 - 返回值)不会改变。 静态:这意味着值(或方
我一直在阅读有关使用静态对象作为锁的内容,最常见的示例如下: public class MyClass1 { private static final Object lock = new Obje
在 Visual Basic 2008 中,我知道有两种不同的方法可以完成同一件事: 成员(member)级别的 Dim: Dim counter1 as integer = 0 Dim counte
static public final int i = 0; public static final int i = 0; 两者都工作正常。 为什么同样的事情可以用两种不同的风格来完成? 最佳答案 因
我是一名优秀的程序员,十分优秀!