Anleitung: IntelliJ → Settings → Live Templates → Template Group anlegen (Bsp. Eigene) → je Template: Live Template
Hinweis: Abkürzungen und Beschreibung könnt ihr setzen wie ihr wollt.
Mindestens:
- Abbreviation (müsst ihr schnell darauf kommen, meine Beispiele habe ich dazu geschrieben)
- Template text (das Code Fragment)
- Application Context (mind. Java angeben)
Beschreibung: Den Dateiinhalt lesen mit java.nio
String filename = "$FILENAME$.txt";
try {
java.nio.file.Files.readAllLines(java.nio.file.Paths.get(filename)) // als Stream weiterverarbeiten
.forEach(line -> tokens.add(parseToken(line))); // z.B.
} catch (NumberFormatException | java.io.IOException ex) {
System.err.printf("Read error: %s%n", ex.getLocalizedMessage());
}
Beschreibung: Eine Zeile in einer Datei anhängen mit java.nio
String filename = "$FILENAME$.txt";
String line = "$CONTENT$";
try {
java.nio.file.Files.writeString(java.nio.file.Paths.get(filename),
line + System.lineSeparator(),
java.nio.file.StandardOpenOption.APPEND,
java.nio.file.StandardOpenOption.CREATE
);
} catch (java.io.IOException ex) {
javax.swing.JOptionPane.showMessageDialog(null, ex.getMessage());
}
Beschreibung: Erstellt eine JOptionPane, die nur zur Information dient
javax.swing.JOptionPane.showMessageDialog(null, "Anzeigetext", "Titel", javax.swing.JOptionPane.INFORMATION_MESSAGE);
Beschreibung: Erstellt ein JOptionPane mit verschiedenen Überprüfungen (und Optionsprüfung für Ja-Option)
String[] opts = { "Ja", "Nein"};
int popup = javax.swing.JOptionPane.showOptionDialog(null, "Anzeigetext","Titel", javax.swing.JOptionPane.YES_NO_OPTION, javax.swing.JOptionPane.QUESTION_MESSAGE, null, opts, opts[0]);
if (popup == javax.swing.JOptionPane.YES_OPTION) {
System.exit(0);
}
Beschreibung: mit 'extends JFrame' Codeerweiterung für den Konstrukter
this.setTitle(String.format("%s", "Titel"));
javax.swing.JPanel northPanel = new JPanel();
JPanel centerPanel = new JPanel();
JPanel southPanel = new JPanel();
this.add(northPanel, java.awt.BorderLayout.NORTH);
this.add(centerPanel, BorderLayout.CENTER);
this.add(southPanel, BorderLayout.SOUTH);
// this.pack();
this.setSize(500, 600);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
Beschreibung: ButtonGroup with Enum (mehr Anpassung im Anwendungsfall erforderlich)
// actionPanel = renderButtons();
private javax.swing.JPanel renderButtons() {
javax.swing.JPanel buttonPanel = new javax.swing.JPanel();
buttonGroup = new javax.swing.ButtonGroup();
for(ResultType type : ResultType.values()){ // for all enum values
if(type == ResultType.UNKNOWN) continue; // used to skip enum values
javax.swing.JRadioButton radioButton = new javax.swing.JRadioButton(type.getLabel());
radioButton.setActionCommand(type.getLabel()); // way to get a String from selected button to check
buttonGroup.add(radioButton);
buttonPanel.add(radioButton);
}
return buttonPanel;
}
// Im Aktion Listener:
// if(buttonGroup.getSelection() != null){
// if (actionCommand.equals(ResultType.HOME.getLabel())){
// activeMatch.setResultType(ResultType.HOME);
// }
// ...
Beschreibung: Den Dateiinhalt lesen mit java.io (BufferedReader)
StringBuilder content = new StringBuilder();
try(java.io.BufferedReader bufferedReader = new java.io.BufferedReader(new java.io.FileReader("$FILENAME$.txt"))){
while (bufferedReader.ready()){
content.append(bufferedReader.readLine()).append(System.lineSeparator());
}
}
catch (java.io.IOException e) {
e.printStackTrace();
}
// content.toString()
Beschreibung: Eine Zeile in einer Datei anhängen mit java.io (BufferedWriter)
String line = "";
try(java.io.BufferedWriter bufferedWriter = new java.io.BufferedWriter(new java.io.FileWriter("$FILENAME$.txt", true))){
bufferedWriter.write(line + System.lineSeparator());
} catch (java.io.IOException e) {
e.printStackTrace();
}