Emmet开始对.html文件进行奇怪的扩展。
我输入li> a,它会扩展为:
li>(params)=> {
}
如果输入.test,它将扩展为:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class JCalculator extends JFrame implements ActionListener {
/** intialize the jlabel, jbutton, string that makes the buttons and jpanel that will hold the buttons
*
*/
private JTextField display = new JTextField("0", SwingConstants.RIGHT);
private JPanel buttonPanel = new JPanel();
private JPanel displayPanel = new JPanel();
private JButton newButton, divButton, multiButton, equalsButton, clearButton, plusButton, minusButton;
private String[] arrayButtons = {"7","8", "9", "/", "4", "5", "6", "x", "1", "2", "3", "-", "0","C", "=", "+"};
private int operand = 0;
private int firstInput = 0, secondInput = 0, answer = 0;
JCalculator() {
/** creates the jframe */
JFrame jfrm = new JFrame("Calculator");
/** sets the size of the jfrm and then positions it in the center of screen */
jfrm.setSize(480, 300);
jfrm.setLocationRelativeTo(null);
/** sets the program to close on exit */
jfrm.setDefaultCloseOperation(jfrm.EXIT_ON_CLOSE);
/** ImageIcon img = new ImageIcon(JCalculator.png);
*
*/
/**sets initial layout to border */
jfrm.setLayout(new BorderLayout());
/** makes a panel named display that holds the Jtext display
* enables it and justifies it right
*/
displayPanel.setLayout(new BorderLayout());
displayPanel.add(display, BorderLayout.CENTER);
display.setHorizontalAlignment(JTextField.RIGHT);
display.setEnabled(false);
/** makes a panel for buttons that is a grid layout
*
*/
buttonPanel.setLayout(new GridLayout(4,4));
/** makes a loop to make all of the 16 buttons for the calculator
* the operands all have their own specific buttons
*/
for (int i = 0; i < arrayButtons.length; i++) {
if (arrayButtons[i].equals("/")) {
divButton = new JButton(arrayButtons[i]);
divButton.addActionListener(this);
buttonPanel.add(divButton);
} else if (arrayButtons[i].equals("x")) {
multiButton = new JButton(arrayButtons[i]);
multiButton.addActionListener(this);
buttonPanel.add(multiButton);
} else if (arrayButtons[i].equals("=")) {
equalsButton = new JButton(arrayButtons[i]);
equalsButton.addActionListener(this);
buttonPanel.add(equalsButton);
} else if (arrayButtons[i].equals("C")) {
clearButton = new JButton(arrayButtons[i]);
clearButton.addActionListener(this);
buttonPanel.add(clearButton);
} else if (arrayButtons[i].equals("+")) {
plusButton = new JButton(arrayButtons[i]);
plusButton.addActionListener(this);
buttonPanel.add(plusButton);
} else if (arrayButtons[i].equals("-")) {
minusButton = new JButton(arrayButtons[i]);
minusButton.addActionListener(this);
buttonPanel.add(minusButton);
} else {
newButton = new JButton(arrayButtons[i]);
newButton.addActionListener(this);
buttonPanel.add(newButton);
}
}
/** adds the two panels to the jfrm
* sets jfrm visibility to true
* sets equalsButton to the default button
*/
jfrm.add(displayPanel, BorderLayout.NORTH);
jfrm.add(buttonPanel, BorderLayout.CENTER);
jfrm.getRootPane().setDefaultButton(equalsButton);
jfrm.setVisible(true);
}
public void actionPerformed(ActionEvent ae) {
String s = ae.getActionCommand();
char stringCheck = s.charAt(0);
if (answer == Integer.parseInt(display.getText())) {
display.setText("0");
}
if (Character.isDigit(stringCheck) && display.getText().length() < 8) {
if (display.getText().equals("0")) {
display.setText(s);
} else {
display.setText(display.getText().concat(s));
}
} if (s.equals("+")){
answer = Integer.parseInt(display.getText());
operand = 1;
} if (s.equals( "-")){
answer = Integer.parseInt(display.getText());
operand = 2;
} if (s.equals("x")){
answer = Integer.parseInt(display.getText());
operand = 3;
} if (s.equals("/")){
answer = Integer.parseInt(display.getText());
operand = 4;
} if (s.equals("C")){
firstInput = 0;
secondInput = 0;
answer = 0;
operand = 0;
display.setText("0");
} if (s.equals("=")){
switch(operand){
case 1:
answer += Integer.parseInt(display.getText());
display.setText(Integer.toString(answer));
break;
case 2:
answer -= Integer.parseInt(display.getText());
display.setText(Integer.toString(answer));
break;
case 3:
answer *= Integer.parseInt(display.getText());
display.setText(Integer.toString(answer));
break;
case 4:
if(Integer.parseInt(display.getText()) > 0 || Integer.parseInt(display.getText()) < 0) {
answer /= Integer.parseInt(display.getText());
display.setText(Integer.toString(answer));
break;
} else {
display.setText("Div by 0");
}
}
if(answer > 100000000 || answer < -100000000){
display.setText("Overlow");
}
}
}
public static void main (String [] args){
/**
* run program
*/
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new JCalculator();
}
});
}
}
如果我输入#test,它将正确扩展为:
似乎混合了javascript,bootstrap等...-非常奇怪的行为。到目前为止,Emmet的运行情况都很好。