summaryrefslogtreecommitdiffstats
path: root/libjava/javax
diff options
context:
space:
mode:
authormkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2003-10-08 15:29:52 +0000
committermkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2003-10-08 15:29:52 +0000
commit7df7bb341be23af445d6cbb4edeb4b87de9f4d47 (patch)
tree3cdd6eb860708117420e165586f0c939bd425d42 /libjava/javax
parent82278e5ed33c6636255dafe68889b49afb16a0f6 (diff)
downloadppe42-gcc-7df7bb341be23af445d6cbb4edeb4b87de9f4d47.tar.gz
ppe42-gcc-7df7bb341be23af445d6cbb4edeb4b87de9f4d47.zip
2003-10-08 Arnaud Vandyck <arnaud.vandyck@ulg.ac.be>
* javax/swing/table/AbstractTableModel.java (getColumnName): Simplified code much. Thanks to Yannick Boogaerts who helped stop pulling my hair on this +1 then -1 tricky thing! git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72228 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/javax')
-rw-r--r--libjava/javax/swing/table/AbstractTableModel.java55
1 files changed, 7 insertions, 48 deletions
diff --git a/libjava/javax/swing/table/AbstractTableModel.java b/libjava/javax/swing/table/AbstractTableModel.java
index 64e4d12cff4..38e36e1744c 100644
--- a/libjava/javax/swing/table/AbstractTableModel.java
+++ b/libjava/javax/swing/table/AbstractTableModel.java
@@ -77,56 +77,15 @@ public abstract class AbstractTableModel implements TableModel, Serializable
*/
public String getColumnName (int columnIndex)
{
- // Ok, this is not the best solution in the world
- // and it does produce wrong answers starting 1378
- // but it's a start. I sure hope there is a more
- // simple algorithm. I started with a base 10 to
- // base 26 converter and later found that there
- // were so many are exceptions that it has morphed
- // into a pile of goop.
-
- // NOTE2: I have a working algorithm which is much
- // much simplier and works for all values...I'll
- // be adding it soon...
-
+ int index = columnIndex + 1;
StringBuffer buffer = new StringBuffer();
- int left = columnIndex;
- boolean foundFirst = false;
-
- // Process Exponent levels.
- for (int index = 6; index >= 0; index--)
- {
- int base = (int) (Math.pow (26, index));
-
- if (index > 1)
- {
- base = base + (int) (Math.pow (26, index - 1));
- }
-
- if (base <= left)
- {
- int multiplier = left / base;
-
- if (foundFirst == false
- && index > 0)
- {
- buffer.append ((char) (multiplier + 64));
- }
- else
- {
- buffer.append ((char) (multiplier + 65));
- }
-
- left = left - (base * multiplier);
- foundFirst = true;
- }
- else if (foundFirst == true
- || index == 0)
- {
- buffer.append('A');
- }
- }
+ while (index > 0)
+ {
+ buffer.insert (0, (char) ('A' + ((index - 1) % 26)));
+ index = (index - 1) / 26;
+ }
+
// Return column name.
return buffer.toString();
}
OpenPOWER on IntegriCloud