diff --git a/src/main/java/org/fenix/llanfair/dialog/EditRun.java b/src/main/java/org/fenix/llanfair/dialog/EditRun.java index 6123bb7..ebed946 100644 --- a/src/main/java/org/fenix/llanfair/dialog/EditRun.java +++ b/src/main/java/org/fenix/llanfair/dialog/EditRun.java @@ -49,7 +49,7 @@ implements ActionListener, ListSelectionListener { /** * Zone d’édition du titre de la course. */ - private JTextField runTitle; + private JTextArea runTitle; /** * Étiquette du {@link runTitle}. @@ -126,7 +126,7 @@ implements ActionListener, ListSelectionListener { String delayedStartString = new Time(run.getDelayedStart()).toString(Accuracy.HUNDREDTH); - runTitle = new JTextField(run.getName(), 61); + runTitle = new JTextArea(run.getName(), 2, 61); runTitleLabel = new JLabel(Language.RUN_TITLE.get()); runSubTitle = new JTextField(run.getSubTitle(), 61); runDelayedStart = new JTextField(delayedStartString, 5); diff --git a/src/main/java/org/fenix/llanfair/gui/RunPane.java b/src/main/java/org/fenix/llanfair/gui/RunPane.java index f5e78b8..9c98566 100644 --- a/src/main/java/org/fenix/llanfair/gui/RunPane.java +++ b/src/main/java/org/fenix/llanfair/gui/RunPane.java @@ -1,26 +1,18 @@ package org.fenix.llanfair.gui; -import java.awt.Color; -import java.awt.Font; -import java.awt.GridBagLayout; +import org.fenix.llanfair.Run; +import org.fenix.llanfair.Run.State; +import org.fenix.llanfair.config.Settings; +import org.fenix.utils.gui.GBC; +import org.fenix.utils.locale.LocaleEvent; + +import javax.swing.*; +import javax.swing.event.TableModelEvent; +import java.awt.*; import java.beans.PropertyChangeEvent; import java.util.ArrayList; import java.util.List; -import javax.swing.BorderFactory; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.event.TableModelEvent; - -import org.fenix.llanfair.Language; -import org.fenix.llanfair.Run; -import org.fenix.llanfair.Segment; -import org.fenix.llanfair.config.Settings; -import org.fenix.llanfair.Run.State; -import org.fenix.llanfair.Time; -import org.fenix.utils.gui.GBC; -import org.fenix.utils.locale.LocaleEvent; - /** * A panel representing informations on a given run. This panel uses numerous * sub-component to given different kind of informations like a graph or a @@ -154,6 +146,9 @@ public class RunPane extends JPanel { footer = new Footer(run); separators = new ArrayList(); + title.setHorizontalAlignment(SwingConstants.CENTER); + subTitle.setHorizontalAlignment(SwingConstants.CENTER); + placeComponents(); setRun(run); @@ -291,7 +286,7 @@ public class RunPane extends JPanel { * Places the sub-components within this component. */ private void placeComponents() { - add(title, GBC.grid(0, 0).insets(3, 0, 1, 0)); + add(title, GBC.grid(0, 0).insets(3, 0, 1, 0).fill(GBC.B)); add(subTitle, GBC.grid(0, 1).insets(3, 0, 0, 0)); add(attemptCounter, GBC.grid(0, 2).insets(1, 0, 1, 3).anchor(GBC.LE)); add(createSeparator(), GBC.grid(0, 3).insets(3, 0).fill(GBC.H)); @@ -310,7 +305,7 @@ public class RunPane extends JPanel { */ private void updateValues(int identifier) { if ((identifier & TITLE) == TITLE) { - title.setText("" + run.getName()); + title.setText("
" + sanitizeTitleString(run.getName()) + "
"); subTitle.setText(run.getSubTitle()); } if ((identifier & ATTEMPTS) == ATTEMPTS) { @@ -423,4 +418,11 @@ public class RunPane extends JPanel { repaint(); } + private String sanitizeTitleString(String title) { + return title + .replace("<", "<") + .replace(">", ">") + .replace("\n", "
"); + } + }